制作dll
此项目的名字是nccnew
,其中的想要调用的函数是add_test
,就是一个简单的加法函数。
#include <iostream>
extern "C" __declspec(dllexport) int add_test(int a, int b);
int main()
{
int d;
d = add_test(5, 6);
std::cout << d;
return 0;
}
__declspec(dllexport) int add_test(int a, int b)
{
int c;
c = a + b;
return c;
}
然后注意把生成的类型调整为dll
,如下图所示。
注意:待生成的cpp
文件最主要的区别在于以下红色的矩形区域,
生成的nccnew.dll
文件在下图的路径当中:
调用DLL
目的是调用 nccnew.dll
里面的add_test
函数。
#include <iostream>
#include<windows.h> // 注意添加这个头文件
typedef int(*FUNADDR_ADD)(int, int);
int main()
{
int c;
FUNADDR_ADD Init = NULL;
// 使用LoadLibrary刚才的dll文件
HINSTANCE dllDemo = LoadLibrary("C:\\Visual Studio 2013\\Projects\\nccnew\\Release\\nccnew.dll");
if (dllDemo)
{ // 获取dll文件里面的指定函数,并把此函数赋给Init
Init = (FUNADDR_ADD)GetProcAddress(dllDemo, "add_test");
}
c = Init(2, 3); # 使用此函数
std::cout << c;
system("pause");
return 0;
}