兩種方法對於你的程式呼叫動態庫時沒有任何區別,只是你在程式設計時,步驟是不一樣的。顯式呼叫麻煩了點,但可以沒有相應的lib庫;隱式呼叫,使用起來比較簡單,有函式的宣告就可以了,但必須有lib庫。
在VC中兩種方式的具體方法:
一、動態庫的隱示呼叫:
在 VC 工程中直接連結靜態輸入庫XXX.lib,然後即可像呼叫其它原始檔中
的函式一樣呼叫DLL中的函數了。
二、動態庫的顯式呼叫:
顯式呼叫動態庫步驟:
1、建立一個函式指標,其指標資料型別要與呼叫的 DLL 引出函式相吻
合。
2、透過 Win32 API 函式LoadLibrary()顯式的呼叫DLL,此函式返回
DLL 的例項控制代碼。
3、透過 Win32 API 函式GetProcAddress()獲取要呼叫的DLL 的函式地
址,把結果賦給自定義函式的指標型別。
4、使用函式指標來呼叫 DLL 函式。
5、最後呼叫完成後,透過 Win32 API 函式FreeLibrary()釋放DLL 函式。
兩種方法對於你的程式呼叫動態庫時沒有任何區別,只是你在程式設計時,步驟是不一樣的。顯式呼叫麻煩了點,但可以沒有相應的lib庫;隱式呼叫,使用起來比較簡單,有函式的宣告就可以了,但必須有lib庫。
在VC中兩種方式的具體方法:
一、動態庫的隱示呼叫:
在 VC 工程中直接連結靜態輸入庫XXX.lib,然後即可像呼叫其它原始檔中
的函式一樣呼叫DLL中的函數了。
二、動態庫的顯式呼叫:
顯式呼叫動態庫步驟:
1、建立一個函式指標,其指標資料型別要與呼叫的 DLL 引出函式相吻
合。
2、透過 Win32 API 函式LoadLibrary()顯式的呼叫DLL,此函式返回
DLL 的例項控制代碼。
3、透過 Win32 API 函式GetProcAddress()獲取要呼叫的DLL 的函式地
址,把結果賦給自定義函式的指標型別。
4、使用函式指標來呼叫 DLL 函式。
5、最後呼叫完成後,透過 Win32 API 函式FreeLibrary()釋放DLL 函式。