首先,建立一个.dll文件
_declspec(dllexport) int add(int a, int b)
{
return a+b;
}
_declspec(dllexport) int subtract(int a, int b)
{
return a-b;
}

生成dll文件之后,会在Debug文件夹下看到.dll和.lib两个文件。如果要使用dll,就需要拷贝这两个文件到需要使用的工程的Debug目录下,并且在该文件中加上:

#pragma comment (lib,”name.lib”)

为了方便使用,可以给.dll添加一个头文件,这样,直接引用头文件就可以了
//DLL1.h

#ifdef DLL1API

#else

#define DLL1API extern “C” __declspec(dllimport)

#endif
DLL1API int add(int a, int b); //声明函数
DLL1API int subtract(int a, int b);

//DLL1.cpp

#define DLL1API extern “C” __declspec(dllexport)

#include “DLL1.h”

int add(int a, int b)
{
return a+b;
}
int subtract(int a, int b)
{
return a-b;
}

//test.cpp

#include

#include

#include “DLL1.h”

#pragma comment (lib,”DLL1.lib”)
using namespace std;
int main()
{
cout<<add(3,5);
Sleep(10000);
return 0;
}

同时,把DLL1目录下的.lib、.dll、.h文件拷贝到test目录下


PS:

extern “C” 指按C语言来编译,C++支持重载,而C不支持,在编译链接时,不同的编译器可能生成的函数名字不一样。因此,在c++里调用C时,需要加 extern “C”字样。