天天看點

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環境變量

繼續閱讀