今天學瞭如何生成dll並調用,目前會的有兩種,實測可用,後續還會再加。
第一種:
(1) C++新建項目,選擇WIN32項目,選擇DLL和空項目。
(2) 創建callDLL.h,加入以下:
#ifdef DLL_API//如果已經定義就什麼都不做
//nothing to do
#else //否則定義DLL_API
#define DLL_API __declspec(dllexport) //_declspec(dllexport):導出標誌
#endif
DLL_API (自己寫的函數!)/導出單獨的函數(後面加函數)
(3) 創建cpp文件:MakeDll.cpp
加入:#include "MakeDll.h"
(4) 菜單欄選擇”生成——>生成解決方案“,生產dll和lib
添加新項目,callDLL
包含目錄,配置.h文件
庫目錄配置 .lib文件,再附加依賴項
callDLL.cpp 中加入 #include "makeDLL.h"
即可使用。
第二種:模塊定義文件def
新建makeDLL項目
項目屬性,選擇
包含目錄、庫目錄、附加依賴項配置環境。
def 文件必須至少包含下列模塊定義語句:
1】文件中的第一個語句必須是LIBRARY 語句。此語句將 .def 文件標識爲屬於 DLL。 LIBRARY 語句的後面是 DLL 的名稱。 鏈接器將此名稱放到 DLL 的導入庫中。
2】EXPORTS 語句列出名稱,可能的話還會列出 DLL 導出函數的序號值。在函數名的後面加上 @ 符和一個數字,給函數分配序號值。 當指定序號值時,序號值的範圍必須是從 1 到 N,其中 N 是 DLL 導出函數的個數。使用符號時外部調用程序可以使用函數名稱和序號加載函數。