注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

^_^ china.ygw的博客

软件开发/c/c++/数据库/开源/linux/windows/安全/网络...

 
 
 

日志

 
 
 
 

往VC的MFC DLL添加DLLMain接口  

2010-07-17 21:38:45|  分类: c/c++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       很不幸,MFC的Regular DLL把DLLMain接口进行了重新封装,无法直接对DLL_PROCESS_ATTACH、DLL_PROCESS_DETACH、DLL_THREAD_ATTACH、DLL_THREAD_DETACH四种情况添加自定义的代码,但是通过查阅MSDN,可以知道MFC DLL类是继承于CWinApp,其InitInstance与ExitInstance接口分别对应着DLL_PROCESS_ATTACH与DLL_PROCESS_DETACH,对于进程的加载与卸载,可以直接在InitInstance或ExitInstance接口中添加自定义代码。

       但是对于线程的加载(DLL_THREAD_ATTACH)与退出(DLL_THREAD_DETACH)还是无法处理啊。如果自定义程序涉及TLS(线程本地存储),需要在线程加载或退出时自动进行一些操作,该怎么办呢?好在天无绝人之路,在VS安装目录\VC\atlmfc\src\mfc(这是VS2010的路径,其它版本应该也是差不多)目录中,有一个dllmodul.cpp文件,将该文件添加到需要的工程中,找到该文件的InternalDllMain函数,这就是我们所要找的DLLMain。

china.ygw like ^_^

  评论这张
 
阅读(3751)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018