利用VS生成 lib及 dll檔案

2021-08-08 12:59:48 字數 1025 閱讀 4319

.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內容如下...