-
創建項目
- 新建項目-> 選擇Win32項目
- 輸入項目名稱,點擊確定。在程序向導中選擇下一步
- 選擇DLL. 由於我想創建的是相對獨立的DLL,所以不選擇ATL和MFC. 點擊完成。
-
Main文件分析。
打開dllmain.cpp文件,這是DLL的入口文件,在這個文件里,可以在進程或者線程加載此文件時進行一些自己額外的處理。
-
添加自己的類。
-
右鍵點擊項目,選擇新建->類。
-
點擊 添加按鈕。
-
輸入類名,會自動生成.h文件和.cpp文件名。點擊 完成按鈕。
-
打開MyClass1.h, 在類的外面添加自己的命名空間,這樣可以更好的區分不同的功能,可以使類庫寫的很大,並且使用的時候不易混淆。
-
在類定義的前面加入如下的代碼:
加入如下的代碼后,以后在項目內方法的前面加上TESTDLL_API修飾符,就可以在引用該DLL的項目中調用這個方法。
TESTDLL_EXPORTS這個配置是在創建DLL項目的時候由VS自動創建的,如果改了項目的名字,這個配置不會自動更改,要自己改過來。
-
在MyClass1.h中加入一個方法的聲明。
-
打開MyClass1.cpp,加上命名空間。
-
為自己的方法添加定義。
編譯之后,這個DLL就可以用了。
-
-
創建項目使用DLL.
-
創建一個控制台程序。
-
點擊下一步。
-
點擊完成。
-
右擊項目,在"框架和引用"中點擊"添加引用"
-
選擇DLL項目。點擊確定。
-
點擊OK.
-
添加附加目錄。
這個目錄是TestDll.h所在的目錄,加入這個配置后,在項目中用#include "MyClass1.h"就可以找到了。
-
打開控制台項目的入口文件。引入DLL項目內的頭文件。
-
加入如下的代碼,調用DLL的中的方法。
-
編譯完成后,運行程序。
-
注:
- 這個例子中,DLL中定義的方法,輸入"this is a test",返回3,這個只是個例子,具體的轉換邏輯還要自己寫。
- 如果要把編譯后的DLL方法別的地方使用,需要把MyClass1.h和TestDll.lib拷貝到使用的項目的根目錄下,放到別的目錄下也可以,但是需要像步驟4.7那樣添加.h文件所在的路徑。同時需要拷貝TestDll.dll到使用的項目的Debug或者Release目錄下去。
-
注2說的是只是調用DLL的一種方法,其他的調用方式可以參見這篇文章:
http://www.cnblogs.com/daocaoren/archive/2012/05/30/2526495.html