如何在MFC中使用動態連結庫
阿新 • • 發佈:2019-01-27
1.隱式連結載入動態連結庫
如果有XXX.h ,XXX.lib,XXX.dll,這樣就可以隱式連結載入了。
在所要引用的.cpp檔案中加入
#include “XXX.h” //包含靜態連結庫的標頭檔案
#pragma comment(lib,"XXX") //隱式呼叫庫檔案
這樣就可以使用dll中封裝的函數了。
其中語句“#pragma comment(lib,"XXX")”可以用工程設定對話方塊的設定來代替。
2.動態載入動態連結庫
如果只有XXX.dll,只能動態載入,主要通過LoadLibrary和GetProcAddress兩個函式來實現。
舉個小例子:
int ires;
typedef int (_cdecl *MyFunc)(int,int);
HMODULE hModule = ::LoadLibrary("MyDynamicLib.dll"); //載入動態連結庫 此提供函式GetMaxCommDiv(int,int)計算最大公約數
MyFinc GetValue = (MyFunc)GetProcAddress(hModule,"GetMaxCommDiv");
ires=GetValue(m,n);
FressLibrary(hModule);