首页
社区
课程
招聘
[求助]VC 新建MFC 时的 Note! 含义
发表于: 2008-10-4 15:01 5345

[求助]VC 新建MFC 时的 Note! 含义

2008-10-4 15:01
5345
在用 VC 新建一个 DLL .会有这样的说明
//
//        Note!
//
//                If this DLL is dynamically linked against the MFC
//                DLLs, any functions exported from this DLL which
//                call into MFC must have the AFX_MANAGE_STATE macro
//                added at the very beginning of the function.
//
//                For example:
//
//                extern "C" BOOL PASCAL EXPORT ExportedFunction()
//                {
//                        AFX_MANAGE_STATE(AfxGetStaticModuleState());
...........

这英文的意思是不是说

在我要导出的函数里面

都要加 AFX_MANAGE_STATE(AfxGetStaticModuleState()); (It is very important)

不知道我的理解有没有问题

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 136
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
完全没有问题。
2008-10-5 21:33
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我一直在导出函数中 .也没有加  AFX_MANAGE_STATE(AfxGetStaticModuleState());

这句话.好像是只有你的函数中引用资源了,比如对话框资源.加入这句比较安全...

我的理解也是迷糊的
2008-10-5 21:39
0
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
如果MFC你是动态链接才要加
静态链接不用

这是vs 2003 的提示
//
//        注意!
//
//                如果此 DLL 动态链接到 MFC
//                DLL,从此 DLL 导出并
//                调入 MFC 的任何函数在函数的最前面
//                都必须添加 AFX_MANAGE_STATE 宏。
//
//                例如:
//
//                extern "C" BOOL PASCAL EXPORT ExportedFunction()
//                {
//                        AFX_MANAGE_STATE(AfxGetStaticModuleState());
//                        // 此处为普通函数体
//                }
//
//                此宏先于任何 MFC 调用
//                出现在每个函数中十分重要。这意味着
//                它必须作为函数中的第一个语句
//                出现,甚至先于所有对象变量声明,
//                这是因为它们的构造函数可能生成 MFC
//                DLL 调用。
//
//                有关其他详细信息,
//                请参阅 MFC 技术说明 33 和 58。
//
2008-10-6 01:57
0
游客
登录 | 注册 方可回帖
返回
//