sources文件内容,注意类型为DYNLINK
!INCLUDE $(NTMAKEENV)\makefile.def
makefile内容
dll.cpp源文件内容
#include "Windows.h"
int Add(int a, int b)
{
return a+b;
}
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // handle to the DLL module
DWORD fdwReason, // reason for calling function
LPVOID lpvReserved // reserved
)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
MessageBox(NULL, TEXT("Load Dll"), TEXT("Load Dll"), MB_OK);
break;
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
MessageBox(NULL, TEXT("Unload Dll"), TEXT("Unload Dll"), MB_OK);
break;
}
return TRUE;
}
dll.def文件内容
LIBRARY dll
EXPORTS Add @1
编译方法:
将上面的文件分别保存为: sources、makefile、dll.cpp、dll.def然后打开WDK编译环境切换到存放文件目录下执行build -c就可以生成一个dll.dll文件,里面有一个导出函数Add
说明:在引用动态库的导出函数时采用__stdcall调用约定方式