VS2013建立使用DLL動態鏈結庫檔案詳解

2021-06-21 13:45:57 字數 1787 閱讀 7316

①新建專案-->win32-->win32專案-->輸入專案名為dlltest-->選擇dll-->選擇空專案-->完成

②新增標頭檔案和原始檔並命名為dlltest.h和dlltest.cpp(方法:分別在標頭檔案和原始檔  :右鍵---新增---新建項)

③標頭檔案和原始檔的定義(這裡我們只實現加法運算)

// dlltest.h

[cpp]view plain

copy

#ifdef dll_api

#else

#define dll_api __declspec(dllexport)

#endif

// 宣告要匯出的函式

dll_api int

add(

inta, 

intb);  

// dlltest.vpp

[cpp]view plain

copy

#define dll_api __declspec(dllexport)

#include "dlltest.h"

intadd(

inta, 

intb)    

④我們編譯執行一下,因為不是完整的檔案,這裡會報錯,不過沒關係,這是我們找到檔案存放的位置,會發現debug檔案中會包含

這些生成的檔案,這裡我們只關心.dll和.lib檔案。在debug同級目錄下,在dlltest檔案中,會找到dlltest.h檔案

.dll檔案即使動態鏈結庫,.lib檔案是程式開發用的導入庫,.h檔案包含匯出函式的宣告

⑤我們再新建乙個專案,命名為testfordll,選擇win32 控制台應用程式

⑥將我們④中的三個檔案存放到testfordll目錄下的testfordll檔案中

如果我們直接存放在testfordll檔案中會出現    error c1083: 無法開啟包括檔案: 「dlltest.h」

如果我們這時只把dlltest.h放進去的話會出現錯誤:error lnk1104: 無法開啟檔案「dlltest.lib」

這時再把.lib檔案放入testfordll目錄下的testfordll檔案中,就可以正常的編譯執行

使用#pragma comment(lib,"dlltest")命令鏈結到dlltest.lib庫。當然我們也可以使用專案---屬性---配置屬性----鏈結器---輸入-----附加依賴項中新增dlltest.lib

這裡給出main函式的實現

[cpp]view plain

copy

#include 

#include "dlltest.h"

#pragma comment(lib,"dlltest.lib")

intmain()    

備註:如果我們把沒把.dll檔案放在debug目錄下,當關閉程式,重新啟動的時候,會出現找不到.dll檔案的錯誤

因此我們最好要把.dll檔案放在debug目錄下

VS2013建立dll動態鏈結庫檔案心得

關於建立動態鏈結庫檔案,並在程式執行過程中連線呼叫,我是這麼理解的 這篇文章基本是屬於入門文件。首先要生成乙個dll檔案和lib檔案,才能夠供給其他程式動態呼叫或者靜態呼叫。這篇日誌是關於動態呼叫的 接下來是總結的一些具體步驟 1.新建專案,win32,win32專案,輸入專案名稱,例如 maked...

vs2013建立動態鏈結庫

最近開發乙個小專案,需要建立和使用動態鏈結庫,參照網上的方法,自己實踐了一下。主要參考這篇文章 建立dll檔案 1.新建專案,win32,win32專案,輸入專案名稱,例如 makedll。2.確定,下一步 3.選單欄選擇專案 新增新項,來建立標頭檔案makedll.h。在makedll.h中輸入以...

mongo c driver使用VS2013編譯

git clonegit clone mongo c driver win64 bin.7z 這裡先需要使用cmake工具來生成vs2013的專案檔案。如果沒有安裝cmake,請先安裝。進入mongo c driver src libbson目錄,開啟命令列視窗,執行以下命令 mkdir msvc1...