[VC]Debug版运行正常Release出错的原因和解决方法

今天遇到的问题,调试的时候运行正常,把Release里生成的程序发布出去后运行就崩溃了。在网上搜索找到了解决方法,总结如下:

原因:
先看ON_MESSAGE定义:

ON_MESSAGE(message, memberFxn )

这个宏需要两个参数, 如果消息响应函数并没有参数编译器在压栈出栈时就会出错。而Debug版运行时编译器会自动加一些测试代码,所以不会造成堆栈的破坏。

解决方法:

方法1:把ON_MESSAGE替换成ON_MESSAGE_VOID(头文件<AFXPRIV.H>)
方法2:修改消息响应函数:afx_msg void OnXXXX(WPARAM wParam, LPARAM lParam)

posted on 2007-06-21 11:05 ffan 阅读(4736) 评论(4)  编辑 收藏 引用 所属分类: C/C++/VC

评论

# re: [VC]Debug版运行正常Release出错的原因和解决方法 2011-05-05 23:37 zx

ZXZX  回复  更多评论   

# re: [VC]Debug版运行正常Release出错的原因和解决方法 2015-06-04 22:12 jh

Debug  回复  更多评论   

# re: [VC]Debug版运行正常Release出错的原因和解决方法 2015-06-04 22:14 爵士

我也遇到这种问题
  回复  更多评论   

# re: [VC]Debug版运行正常Release出错的原因和解决方法 2015-06-04 22:16 爵士

我也遇到了,肿么办  回复  更多评论   

只有注册用户登录后才能发表评论。
<2005年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(12)

随笔分类

随笔档案

相册

搜索

最新评论

阅读排行榜

评论排行榜