构建DLL模块
2016-03-21 本文已影响54人
我家有个小太阳
- 首先构建一个头文件来包含想要到处的变量和函数
#ifdef MYAPI
#else
#define MYAPI extern "C" __declspec(dllimport)
MYAPI int a;
MYAPI add(int a, int b)
2.在DLL的每个源文件中,必须包含该头文件
#define MYAPI extern "C" __declspec(dllexport)
#include "myapi.h"
int a;
int add(int a, int b){
return a+b
}
3.头文件的要定义的函数和变量前要加上定义好的宏,源文件中不必加入
4.在用c++语言编写DLL时,应该使用extern "C"标识符告诉编译器不对函数名进行改编,使用c语言写DLL时不用采用该标识符
5.可执行文件不应该在包含DLL的头文件之前定义DLL中定义的宏,否则会导致DLL不能被正确引用
6.使用DumpBin.exe工具(加上-exports开关)来查看一个DLL导出段
C:\Program Files (x86)\Microsoft Visual Studio10.0\VC\bin\amd64
7.避免导出时的名字改编(为非 Visual C++工具包创建DLL)的方法
创建一个.def文件,并在.def文件包含类似下面的EXPORTS段
EXPORTS
MyFunc