建立和使用動態庫 使用def檔案
開啟vs2013 ,檔案-新建,取一個名字
我們這裡建立一個空的專案吧
新增標頭檔案MyDll.h
原始檔
建立原始檔dllmain.cpp,要包含window.h檔案,這個是vs2013自動生成的,但是你在建立專案的時候,選擇了空專案,所以就沒有,如果沒選擇空專案就會有這個檔案,但是他會包含很多的其他的依賴檔案,這裡都去除了,我們是要生成一個純淨的動態庫,
// dllmain.cpp : 定義 DLL 應用程式的入口點。
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
建立source.def
在此檔案第一行引號中填專案名稱就好了,EXPORTS下面表示要生成的函式名稱 格式:“名稱 @序號”)
生成解決方案,發現該專案目錄下的Debug下生成了檔案 dll lib
2 專案呼叫庫檔案的用法
以同樣的方式生成專案,但這次不是選擇dll了,控制檯程式
將上面專案的標頭檔案和生成的庫檔案複製到該專案來
建立自己的原始檔UseDll.cpp 內容是
有時候需要經檔案包含的目錄和庫檔案新增進來
執行
測試成功了
如果我在庫檔案中這樣寫
生成的庫檔案再拿過來