本文内容列表:
方法一:配置属性-调试-环境:输入path=dll文件所在文件夹的路径
操作流程:项目-右键属性:
方法二:将dll文件复制到引用的.cpp所在文件夹
要创建引用并使用刚刚创建的动态链接库的应用程序,请从“文件”菜单中选择“新建”,然后选择“项目...”。
从“项目类型”窗格中,选择“Visual C++”下的“Win32”。
从“模板”窗格中,选择“Win32 控制台应用程序”。
为项目选择一个名称,例如“MyExecRefsDll”并将其输入到“名称”字段中。从解决方案旁边的下拉列表中选择添加解决方案。这会将新项目添加到与动态链接库相同的解决方案中。
按“确定”启动“Win32应用程序向导”。在“Win32 应用程序向导”对话框的“概述”页面中,单击“下一步”。
从 Win32 应用程序向导的“应用程序设置”页面中,选择“应用程序类型”下的“控制台应用程序”。
在 Win32 应用程序向导的“应用程序设置”页面中,取消选择“附加选项”下的“预编译头”。
按“完成”创建项目。
1。创建一个 C++ Win32DLL。这里,一定要选择“导出符号”来导出符号。单击“完成”。如下图所示:
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++” |在项目属性对话框中选择“高级”,并将“编译AS”选项的值更改为“C++”。然后就OK了,编译。
5。生成的DLL文件如下所示:
6。首先,添加一个 C# 应用程序。如果要在C#中调用C++的DLL文件,首先必须在C#类中添加一个静态方法,并使用DllImportAttribute来修改该方法。代码如下:
7。 DllImport中的第一个参数指定DLL文件的位置,第二个参数“EntryPoint”用于指定C/C++中对应的函数名称。 “extern”关键字表示声明的Add方法存在外部调用。
方法声明后,就可以像调用普通静态方法一样使用了。
以下是示例程序:
8。然后运行C#程序,结果如下图: