关于dll使用的方法,留个备份,总是好事 dll 代码: // dll code // compile :cl /LD *.c #include < windows.h > #pragma comment(lib, "user32") __declspec(dllexport) void func() ... { MessageBox(0, "dll func execute", "dll func", MB_OK);} BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, PVOID fImpLoad) ... { switch(fdwReason) ...{ /**//* #define DLL_PROCESS_ATTACH 1 #define DLL_THREAD_ATTACH 2 #define DLL_THREAD_DETACH 3 #define DLL_PROCESS_DETACH 0 */ case DLL_PROCESS_ATTACH: ...{ MessageBox(0, "DLL_PROCESS_ATTACH", "load dll", 0); break; } // 注意break case DLL_PROCESS_DETACH: ...{ MessageBox(0, "DLL_PROCESS_DETACH", "detach dll", 0); func(); break; } default: ...{ break; } } return TRUE;} 调用代码: #include < windows.h > // #include "libname.h" // 貌似可以不要 #pragma comment(lib,"libname") int main( int argc, char * argv[]) ... { HANDLE hLibTest = LoadLibrary("libname"); func(); // lib 定义 FreeLibrary(hLibTest); return 0;}