C++中動態鏈接庫、靜態鏈接庫的創建與調用


鏈接庫的創建:

1.創建動態鏈接庫

在頭文件中添加以下代碼

#pragma once
 
#ifdef __DLLEXPORT
#define __DLL_EXP _declspec(dllexport)    // 導出函數 - 生成dll文件時使用
#else
#define __DLL_EXP _declspec(dllimport)    // 導入函數 -使用dll是使用
#endif // __DLLEXPORT

// 判斷是否是c++
#if defined(__cplusplus)||defined(c_plusplus)
extern "C"
{
#endif
    __DLL_EXP int add(int a, int b);
     
    __DLL_EXP int sub(int a, int b);

#if defined(__cplusplus)||defined(c_plusplus)
}
#endif

 

2.創建靜態鏈接庫

 

鏈接庫的調用:

方法1:

直接將文件拷貝到目錄下

直接把Dll1.h,Dll1.lib和Dll1.dll文件,復制到工程目錄下面,

在上述代碼的using namespace std;下面添加一句

 

 

方法2:

在VC目錄中設置
2.1 如果整個工程只有C++文件。可以直接在VC目錄里設置。
在VC++目錄下的包含目錄里添加Dll1.h所在的路徑,在庫目錄里添加Dll1.lib所在的路徑。

 

 2.2 在鏈接器,輸入里的附加依賴項里添加Dll1.lib

 

2.3 在生成事件,后期生成事件里的命令行里添加以下命令

      將dll文件編譯后拷貝到執行目錄下

    說明:copy只能拷貝文件,

               xcopy可以拷貝整個文件夾

 

 方法3:

3.1 添加Dll1.h的包含目錄

 

 

3.2 添加Dll1.lib的庫目錄

 

 

3.3 后面的與2.2/2.3兩步相同

 

 

注意:方法2和方法3中,配置選項中的debug/release以及平台x64或者x86需要與編譯時的選項一致

 

靜態鏈接庫的調用:與動態鏈接庫的調用方法類似,少了.dll文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM