C 載入lib和dll的方法

2021-08-21 01:19:32 字數 1075 閱讀 2195

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 包含函式 本身,在編譯時直接將 加入程式...