本文以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...