永发信息网

如何添加DllMain函数?

答案:6  悬赏:80  手机版
解决时间 2021-11-13 11:01
  • 提问者网友:蔚蓝的太阳
  • 2021-11-12 12:36
如何添加DllMain函数?
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-11-12 13:27
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模块与进程分离时(以及其它时候)也被调用。
全部回答
  • 1楼网友:雾月
  • 2021-11-12 18:01
构建 MFC 工程
在 源文件
\src\mfc\dllmodule.cpp

打开它,里面有有一个DLLMAIN函数
  • 2楼网友:撞了怀
  • 2021-11-12 17:28
如果你知道怎么新建工程请往下看。如果不知道就当我没来过

新建一个WIN32的DLL工程
新建一个CPP源文件

添加如下代码

BOOL WINAPI DllMain(
HANDLE hinstDLL,
DWORD dwReason,
LPVOID lpvReserved)
{
return TRUE;
}

就完成了DLLMAIN的编写了
  • 3楼网友:神的生死簿
  • 2021-11-12 16:12
如果你知道怎么新建工程请往下看。如果不知道就当我没来过

新建一个WIN32的DLL工程
新建一个CPP源文件

添加如下代码

BOOL WINAPI DllMain(
HANDLE hinstDLL,
DWORD dwReason,
LPVOID lpvReserved)
{
return TRUE;
}

就完成了DLLMAIN的编写了
  • 4楼网友:長槍戰八方
  • 2021-11-12 15:40
DllMain函数是Dll的入口点函数,DllMain函数的原型是BOOL WINAPI DllMain(HISNTANCE hInst, DWORD dwReason, LPVOID);,可在cpp的任何地方来定义这个函数。一般地,对于C\C++程序来说,这个DllMain并不是Dll的真正的入口点,真正的入口点是C\C++运行时库的入口点,C\C++运行时库在进行一些初始化后,才会调用你提供的DllMain函数。如果想让自己的DllMain成为真正的入口点函数,可以在链接选项里,把“入口点”改成DllMain。
  • 5楼网友:天凉才是好个秋
  • 2021-11-12 15:06
DllMain无法重载,你直接在向导生成的DllMain中添加代码就行了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯