VS2013引入外部dll

VS2013引入外部dll,第1张

方法1:配置属性->调试->环境:输入path=包含dll文件的文件夹路径

*** 作过程:项目-右键属性:

方法2:将dll文件拷贝到引用的.cpp所在的文件夹中

1.建立一个C++的Win32DLL,这里要注意选择"Export symbols"导出符号。点击完成。 如下图所示

2.由于项目的名称是"TestCPPDLL",因此,会自动生成TestCPPDLL.h和TestCPPDLL.cpp两个文件,.h文件是要导出内容的声明文件,为了能清楚的说明问题,我们将TestCPPDLL.h和TestCPPDLL.cpp两个文件中的所有内容都删除,然后在TestCPPDLL.h中添加如下内容:

3.第一行代码中定义了一个名为"TESTCPPDLL_API"的宏,该宏对应的内容是"__declspec(dllexport)"意思是将后面修饰的内容定义为DLL中要导出的内容。

第二行的代码是一个函数的声明,说明该函数可以被模块外部调用,其定义实现在TestCPPDLL.cpp中,TestCPPDLL.cpp的代码如下所示:

4.在编译C++DLL之前,需要做以下配置,在项目属性对话框中选择"C/C++"|"Advanced",将Compile AS 选项的值改为"C++"。然后确定,并编译。

5.生成的DLL文件如下图所示:

6.首先,添加一个C#的应用程序,如果要在C#中调用C++的DLL文件,先要在C#的类中添加一个静态方法,并且使用DllImportAttribute对该方法进行修饰,代码如下所示:

7.DllImport中的第一个参数是指明DLL文件的位置,第二个参数"EntryPoint"用来指明对应的C/C++中的函数名称是什么。"extern"关键字表明该处声明的这个Add方法是一个外部调用。

该方法声明完毕之后,就可以像调用一个普通的静态方法一样去使用了。

下面是示例程序:

8.然后运行该C#程序,其结果如下图所示:

(1)首先,打开VS2013,选择“新建项目”。我这里是在起始页上新建的。

当然,也可以从菜单栏里的“文件”,选择“新建”,选择“项目”:

(2)选择C#语言,再选择内容里的“类库”,这里我给它取了一个名字叫MyLib,接着点击“确定”。

(3)新建好的类库,就是长这样的。

(4)在这里,我新加了一个类,叫MySpecialClass,待会会用到。

(5)到这里,新加的内容就加完了,选择菜单栏里的“生成”,选择“生成解决方案”,这样就可以生成dll文件。

(6)生成成功,可以看到这个新鲜出炉的dll文件,是放在MyLib\bin\Debug文件夹里的。

它长这样。

(7)怎么用这个dll文件呢,举个例子,我又创建了一个新项目,叫MyPro。

(8)在左边,“解决方案资源管理器”中,对“引用”单击右键,选择“添加引用”。

(9)在d出框里,选择“浏览”,并没有看到刚才创建的dll文件,那么选择下方的“浏览”,找到刚才的dll文件,点击“添加”,之后点击“确定”。

(10)添加成功dll文件后,在Main函数里,能自然联想到MyLib里的MySpecialClass类而不报错。

也可以使用using。能看到这个dll文件能正常使用了。

好的,到这里就结束了。对于命名空间、using这些还有什么不懂的,大家可以先去翻翻书,补充巩固一下知识。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11494448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存