使用vs2019创建的c++ dll工程生成的dllmaincpp文件中的代码:BOOL APIENTRY DllMain HMODULE hModule DWORD ul_reason_for_call LPVOID lpReserved switch ul_
DllMain函数是在DLL加载或卸载时由操作系统自动调用的入口函数。它用于初始化全局变量、资源分配和释放、线程创建和销毁等操作。在生成的dllmain.cpp文件中,根据不同的ul_reason_for_call参数,可以执行不同的操作。
- DLL_PROCESS_ATTACH:当进程加载该DLL时调用,可以用于初始化DLL的全局变量和资源。
- DLL_THREAD_ATTACH:当新线程创建时调用,可以用于为新线程执行特定的初始化操作。
- DLL_THREAD_DETACH:当线程结束时调用,可以用于清理线程所占用的资源。
- DLL_PROCESS_DETACH:当进程卸载该DLL时调用,可以用于释放DLL的全局变量和资源。
在一些特定的情况下,我们可能需要在DLL加载或卸载时执行一些额外的操作,这时可以在DllMain函数中根据ul_reason_for_call参数进行相应的处理。
原文地址: https://www.cveoy.top/t/topic/hL5u 著作权归作者所有。请勿转载和采集!