.lib檔案稱作靜態鏈結庫,.dll檔案稱作動態鏈結庫。linux系統下對應的檔案為.a檔案及.so檔案。
比較這兩種方式,顯然動態鏈結更靈活。如果發布的程式需要更新庫里的內容,只需要更新對應的dll檔案即可,而對其他檔案不需要做修改。相反靜態鏈結方式需要更新整個.exe程式,而且會使得.exe檔案體積龐大。
新增原始檔及標頭檔案:
標頭檔案裡定義dll_api函式(即呼叫者可以從外部呼叫的函式):
#ifdef
dll_api
#else
#define
dll_api __declspec
(dllexport
)#endif
// 這裡以加法為例,其中dll_api代表可供呼叫者呼叫的函式
dll_api
intadd
(inta,
intb
);
原始檔裡實現這個add函式:
#include
"dll_test.h"
intadd
(inta,
intb
)
好,現在可以右鍵工程生成一下,我們可以在debug資料夾裡看到如下檔案:
其中.lib檔案及.dll檔案就是我們打包好的庫檔案。如果其他工程要呼叫這個庫,需要做的是:
工程包含dll_test.h標頭檔案;
工程包含.lib鏈結庫,作為動態鏈結庫的入口;
將.dll檔案與生成的.exe檔案放在同一目錄下,或者將.dll檔案所在目錄新增到系統環境變數中並重啟計算機。
dll生成lib檔案
如何從dll檔案匯出對應的lib檔案?visual c 開發工具提供了兩個命令列工具,乙個是dumpbin.exe,另乙個是lib.exe。利用這兩個工具即可從dll匯出其對應的lib。1 在命令列執行 dumpbin exports yourdll.dll yourdll.def exports ...
vs生成dll時 lib檔案路徑配置
這篇文章介紹了,如何在生成dll檔案時,匯出輸出函式。兩種方法 專案新建projectname.def檔案 輸入要匯出的函式 專案屬性 聯結器 模組定義檔案 projectname.def 在需要匯出的函式名前加上 if defined windll define pn api declspec d...
根據 dll檔案生成 lib檔案
有些linux下的開源原始碼編譯後只生成.dll檔案,為了在vc中使用,需要生成.lib檔案。步驟如下 1.開啟visual studio命令提示視窗,切換到.dll路徑下 2.使用dumpbin命令 dumpbin exports libzbar 0.dll lib.txt lib.txt內容如下...