4 回答
TA贡献1824条经验 获得超6个赞
1、The DllMain function is an optional method of entry into a dynamic-link library (DLL)。(简要翻译:对于动态链接库,DllMain是一个可选的入口函数。)这句话很重要,很多初学者可能都认为一个动态链接库肯定要有DllMain函数。其实不然,像很多仅仅包含资源信息的DLL是没有DllMain函数的。
2、系统是在什么时候调用DllMain函数的呢?静态链接时,或动态链接时调用LoadLibrary和FreeLibrary都会调用DllMain函数。DllMain的第二个参数fdwReason指明了系统调用Dll的原因,它可能是::DLL_PROCESS_ATTACH、DLL_PROCESS_DETACHDLL_THREAD_ATTAC、
DLL_THREAD_DETACH。
以下从这四种情况来分析系统何时调用了DllMain。
3、DllMain函数是DLL模块的默认入口点。当Windows加载DLL模块时调用这一函数。系统首先调用全局对象的构造函数,然后调用全局函数DLLMain。DLLMain函数不仅在将DLL链接加载到进程时被调用,在DLL模块与进程分离时(以及其它时候)也被调用。
TA贡献1795条经验 获得超7个赞
如果你知道怎么新建工程请往下看。如果不知道就当我没来过
新建一个WIN32的DLL工程
新建一个CPP源文件
添加如下代码
BOOL WINAPI DllMain(
HANDLE hinstDLL,
DWORD dwReason,
LPVOID lpvReserved)
{
return TRUE;
}
就完成了DLLMAIN的编写了
- 4 回答
- 0 关注
- 782 浏览
添加回答
举报