在解決方案資料總管中源檔案下建立def檔案,格式如下:
LIBRARY
EXPORTS
functionname
在cpp檔案中寫要導出的函數,在.h檔案中寫函數聲明,應用時包含頭檔案就可以替代聲明。
動态加載dll不需要設定vc包含目錄、庫目錄和連結依賴,動态加載dll示例代碼:
HINSTANCE hdll;
hdll=LoadLibrary("dll1.dll");//加載dll
typedef int ( *ADDPROC)(int a,int b);//定義函數指針ADDRPROC
ADDPROC padd=(ADDPROC)GetProcAddress(hdll,"add");//檢索dll中EXPORTS函數
if(!padd)
{
MessageBox("擷取函數位址失敗!");
return;
}
CString str;
str.Format("5+3=%d",padd(5,3));
MessageBox(str);
FreeLibrary(hdll);//減少被加載的dll引用計數,計數變為零時,該dll子產品将從調用程序的位址空間解除安裝。