VS2017 DLL 生成與使用 最小例程

2021-08-21 19:54:54 字數 1248 閱讀 9887

本文以my_sum求和函式為例

建立dll專案工程:file -> new project -> installed -> visual c++ -> windows desktop -> dynamic-link library -> 工程名用預設的dll1

#ifdef dll_exports

#define dll_api __declspec(dllexport)

#else

#define dll_api __declspec(dllimport)

#endif

dll_api int my_sum(int a, int b);

在dll1.cpp中新增如下**

#include "stdafx.h"

#include "dll1.h"

int my_sum(int a, int b)

編譯輸出dll:build -> build solution,即可在工程目錄的debug資料夾下看到多個檔案。其中dll1.dll和dll1.lib是後面要的檔案。

複製dll檔案:複製dll1.dll、dll1.lib和dll1.h到專案資料夾的子目錄dll1_test下。

#include "stdafx.h"

#include "dll1.h"

int main()

新增lib到資源檔案

方法1: solution explorer -> dll1_test -> resource files[右鍵] -> add -> existing item -> 選中dll1.lib -> add

方法2:solution explorer -> dll1_test[右鍵] -> configuration properties -> linker -> input -> additional dependencies -> edit -> 新增dll1.lib

編譯執行dll1_test

快捷鍵:ctrl+f5

或者 build -> build solution,然後 debug-> start without debugging

如果成功,控制台第一行輸出如下

1+2=3

如何使用vs生成dll

建立dll工程 檔案 新建 專案 visual c win32 win32控制台應用程式 win32專案也可以 填寫專案名稱mydll 確定 下一步 dll 附加選項 對空專案打鉤 完成。到這裡dll工程就建立完畢了,下面新建兩個檔案mydll.cpp和mydll.h。在.cpp檔案中,需要匯出的函...

VS2017動態鏈結庫( dll)的生成與呼叫

標頭檔案中為什麼要有下面的 呢?ifdef yakedll exports define yakedll api declspec dllexport else define yakedll api declspec dllimport endif declspec dllexport 意思是匯出符...

vs2017生成帶類的DLL(供VB使用)

vs生成帶類的dll vs2017新建專案 visual c windows桌面 動態庫鏈結 dll 新增完類的標頭檔案和定義,在類前面新增 extern c declspec dllexport 生成解決方案 vb6只認識def檔案生成的dll,函式名不會更改 vb呼叫 方法1 使用declare...