c++載入lib的方法:
方法1、直接新增lib專案的引用
方法2、在屬性—聯結器—輸入—裡新增要使用的lib,在聯結器—常規—附加庫目錄新增lib的目錄
c++載入dll的方法(參考**
)一、先介紹dll匯出要使用的函式的方法。
dll中匯出函式有兩種方法:
1、 在函式宣告中加上__declspec(dllexport)
2、採用模組定義(.def)檔案宣告:新增新建項—**—模組定義檔案def;def的寫法:
library "dll名稱(沒有字尾)"
exports
function1 @1(要匯出函式名不加括號)
function2 @2..
.然後在專案屬性—連線—輸入—模組定義檔案新增上***.def。
二、載入dll的方法
1、靜態載入
新建專案部的配置如下:
專案->屬性->配置屬性->vc++ 目錄-> 在「包含目錄」裡新增標頭檔案***.h所在的目錄(也可在c/c++-常規-附加包含目錄新增.h目錄)
專案->屬性->配置屬性->vc++ 目錄-> 在「庫目錄」裡新增標頭檔案***.lib所在的目錄(也可在連線—輸入—附加庫目錄新增.lib目錄)
專案->屬性->配置屬性->鏈結器->輸入-> 在「附加依賴項」裡新增「***
.lib」(若有多個 lib 則以;隔開)
雖然是載入dll,但是還是要連線相應lib,lib是def檔案匯出的函式庫。
最後,還需要將***.dll(要載入的dll)複製到當前專案生成的可執行檔案所在的目錄(否則,執行時會出現異常,除錯無法進入函式體)
。 2、動態載入
動態載入是指通過**載入和解除安裝dll,主要使用3個windows api函式:
loadlibrary、 getprocaddress 和freelibrary。這裡不詳細講解,給個**:
如果在呼叫dll函式時出現「無法解析外部符號」的問題,很有可能是dll中該函式沒有匯出,可使用上述dll匯出函式的方法解決。
C 引用Lib和Dll的方法總結
1.什麼是靜態連線庫lib,什麼是動態鏈結庫 dll 靜態鏈結庫與動態鏈結庫都是共享 的方式,都是二進位制格式的 2.靜態鏈結庫lib和動態鏈結庫dll的區別 若採用靜態鏈結庫,lib 中的指令都全部被直接包含在最終生成的 exe 檔案中了。而動態動態鏈結庫則不必被包含在最終 exe 檔案中,exe...
C 引用Lib和Dll的方法總結
靜態鏈結庫與動態鏈結庫都是共享 的方式,都是二進位制格式的 若採用靜態鏈結庫,lib 中的指令都全部被直接包含在最終生成的 exe 檔案中了。而動態動態鏈結庫則不必被包含在最終 exe 檔案中,exe 檔案執行時可以 動態 地引用和解除安裝這個與 exe 獨立的 dll 檔案。另乙個區別是靜態鏈結庫...
C 生成和使用dll和lib
dll和lib 動態鏈結庫 dll 是乙個可以被其他應用程式共享的程式模組,其中封裝了一些可以被共享的例程和資源。和可執行檔案 exe 非常類似,區別在於dll中雖然包含了可執行 卻不能單獨執行,而應由windows應用程式直接或間接呼叫。靜態鏈結庫 lib 包含函式 本身,在編譯時直接將 加入程式...