[動態鏈接庫] windows10下VS2019生成動態鏈接庫並調用

背景

在windows10操作系統下,通過IDE工具(VS2019社區版本),生成動態鏈接庫並進行調用的演示。

使用步驟的總結如下:
VS2019首頁點擊動態鏈接庫,並創建項目;
在pch.h中 添加 extern “C” _declspec(dllexport) int function_name(int a, int b);
在pch.cpp中定義函數:int function_name(int a, int b){ return a+b;}
編譯後將pch.h、framework.h、Dll1_2020_07_02.dll、Dll1_2020_07_02.lib 文件拷貝到新的項目文件夾下;
新項目的源文件中引入pch.h 以及庫文件,在main函數裏,導入相關的function_name函數;

具體步驟如下:

1、打開VS

-1、通過快捷方式打開Visual Studio 2019,如果快捷方式失效了,可以在IDE安裝目錄下點擊devenv.exe。
如我的計算機上,點擊D:\D04_C\VS2019\install\IDE\Common7\IDE\devenv.exe
在這裏插入圖片描述

2、創建生成dll的新項目

打開VS後:
點擊“創建新項目(N)”–>點擊“動態鏈接庫(DLL)”–>配置新項目(例如:項目名稱-Dll1_2020_07_02,位置-E:\E03_Temp)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3、查看頭文件和源文件

創建完新項目後,可以看到E:\E03_Temp\Dll1_2020_07_02文件夾下新增了4個文件framework.h、pch.h、dllmain.cpp、pch.cpp;
分別查看頭文件framework.h、pch.h;以及源文件dllmain.cpp、pch.cpp;
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

4、修改文件並編譯

在pch.h中 添加 extern “C” _declspec(dllexport) int function_name(int a, int b);
在pch.cpp中 定義函數:int function_name(int a, int b){ return a+b;}

注意:可以根據具體的需要修改function_name函數名稱,以及函數體;
在這裏插入圖片描述
在這裏插入圖片描述
Release-x64編譯,軟件會報:無法啓動程序…,可忽略,底下顯示成功1個,失敗0個即可;
編譯完會生成x64文件夾,在E:\E03_Temp\Dll1_2020_07_02\x64\Release文件夾下生成Dll1_2020_07_02.dll、Dll1_2020_07_02.lib
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

5、創建測試dll的項目

重新打開VS後:
點擊“創建新項目(N)”–>點擊“控制檯應用”–>配置新項目(例如:項目名稱-TestDll1_2020_07_02,位置-E:\E03_Temp)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

6、建測試dll

調用第三方庫。
6.1 將第三方庫的.h文件、.lib文件、.dll文件複製進工程項目中;
文件路徑:
E:\E03_Temp\Dll1_2020_07_02\framework.h
E:\E03_Temp\Dll1_2020_07_02\pch.h
E:\E03_Temp\Dll1_2020_07_02\x64\Release\Dll1_2020_07_02.lib
E:\E03_Temp\Dll1_2020_07_02\x64\Release\Dll1_2020_07_02.dll

6.2 直接在源代碼前添加引用;

#include "pch.h"   //通過相對路徑或絕對路徑添加頭文件
#pragma comment (lib,"Dll1_2020_07_02.lib")  //添加庫文件

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章