定義導出函數
//方法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環境變量