定义导出函数
//方法1:
_declspec(dllexport) int add(int a, int b);//此时会发生函数名字改编
//如果不想改编,可以使用extern "c"
extern "c" _declspec(dllexport) int add(int a, int b);
//方法2:
//使用模块定义文件def,“;”为注释行
; win32dll.def: 导出dll函数
library "win32dll" ;dll的名称
;desription "实现一个win32 dll" ;dll的描述
exports
add ;函数名
sub ;函数名
dll的调用
1、动态调用(显式调用)
相关函数:loadlibrary、freelibrary、getprocaddress
2、静态调用(隐式调用)
(1)需要在调用程序中加入#pragma comment(lib, "name.dll");或者在“工程”->“设置”->“link”项,输入name.dll
(2)在调用程序中声明导入函数:extern "c" _declspec(dllimport) int add(int a, int b);
windows系统搜索dll的路径顺序:
1、exe文件的目录
2、进程的当前工作目录
3、windows系统目录system32
4、windows目录
5、path环境变量