天天看点

Win32 DLL相关操作

定义导出函数

//方法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环境变量

继续阅读