超菜鸟级问题

justme2009 2008-05-15 07:53:54
我在一个MFC动态链接库的例子中看到每个函数内第一句都是AFX_MANAGE_STATE(AfxGetStaticModuleState());是什么意思?
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolerhero 2008-05-15
  • 打赏
  • 举报
回复
AFX_MANAGE_STATE(AfxGetStaticModuleState());

用于模块切换时的状态保护

1.AfxGetStaticModuleState()指向当前模块状态;

2.当前函数调用结束后原模块的状态自动被恢复;

3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;

justme2009 2008-05-15
  • 打赏
  • 举报
回复
MSDN看不懂啊英文太差啊
Zhang_ZP 2008-05-15
  • 打赏
  • 举报
回复
这你去查下MSDN,比什么都好。
lake_cx 2008-05-15
  • 打赏
  • 举报
回复
我想应该是跟共享dll之间的全局变量相关吧,譬如保证各个dll中使用AfxGetApp拿到的都是同一个App对象
源代码没看懂。。。
没明白为什么是在DLL 是动态链接的时候要加这个,我怎么感觉在静态链接的时候才需要啊,因为那个时候,所有的MFC中的全局变量不都有多份了么。。。不知道哪儿理解错了

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧