您的位置:首页 > 其它

关于MFC的debug和release....附加两个.h互相引用.

2011-05-18 19:27 239 查看
当时是这样的:兴致勃勃的在debug下运行成功,却没想到在想做个结尾时发生了不该发生的事情.release一用.立刻崩盘...

解释:

在程序中,如前面一篇讲UI线程的文章所述,在线程间,采用postMessage 和 sendMessage来进行消息通信...but.起初定义消息响应函数的声明为:afx_msg void QuitSearch();由于release没调试...只有通过AfxMessageBox当断点来调试程序.发现一运行完消息响应函数后,立即崩盘...百思不得其解...偶然,在网上看到文章,将debug与release的区别讲到"当你在Release下且多线程或进程间使用了消息传递时就会导致无效句柄之类的错误。导致这个错误直接原因是消息体的参数没有添加,即应该写成:afx_msg LRESULT OnMessageOwn(WPARAM wparam, LPARAM lparam); "

果断改为afx_msg void QuitSearch(WPARAM wparam=NULL, LPARAM lparam=NULL);然后程序运行稳定...

然后讲讲两个头文件互相引用导致的崩溃.出现原因不多讲了A.h B.h,解决办法:

A.h中

#include "b.h"

class A{...};

B.h中

class A;//声明A.

class B{...};

这个老早就解决过...没想到后来又碰到了...然后不知所措...不过找了找之前项目果断搞定.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: