构建DLL模块

  1. 首先构建一个头文件来包含想要到处的变量和函数
    #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

你可能感兴趣的:(构建DLL模块)