在VS2017中使用C++创建和使用DLL
创建DLL
1、打开Visual Studio 2017,创建如下图的工程:

2、右键项目》添加》新建项》头文件(.h)
在头文件中输入以下代码:1
2
3
4extern "C"
{
__declspec(dllexport) int __stdcall add(int a, int b);
}
3、右键项目》添加》新建项》C++文件(.cpp)
在C++文件中输入以下代码:1
2
3
4
5
6
7
8
9
10
extern "C"
{
int __stdcall add(int a, int b)
{
int c;
c = a + b;
return c;
}
}
4、右键项目》添加》新建项》模块定义文件(.def)
在模块定义文件中输入以下代码:1
2
3LIBRARY
EXPORTS
add
add为方法名
5、右键项目》属性》配置属性》C/C++》代码生成,设置运行库为:多线程 DLL(/MD)
6、编译项目,生成Release版的DLL
可编译为x86或x64。
使用DLL
一、C++调用
1、新建项目
2、拷贝编译生成的dll和头文件,到测试项目下面
3、右键项目》添加》新建项》C++文件(.cpp)
在C++文件中输入以下代码:1
2
3
4
5
6
7
8
9
10
void main()
{
int a = 10;
int b = 23;
int c = add(a, b);
printf("输出:%d\n",c);
getchar();
}
4、点击“本地Windows调试器”运行项目,调用成功
二、VB调用
1、拷贝C++DLL到exe程序同一目录下
2、在exe程序中引用C++DLL1
Public Declare Function add Lib "DWGNoEnDe.dll" (ByVal a As Long, ByVal b As Long) As Long
3、调用C++DLL的方法1
2
3Private Sub Command1_Click()
Text3.Text = add(CInt(Text1.Text), CInt(Text2.Text))
End Sub
三、C#调用
1、新建控制台应用项目
2、拷贝C++DLL到项目名称\bin\Debug下,与exe处于同一目录
3、在Program.cs中输入如下代码:
4、点击启动运行项目,调用成功