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

      当时是这样的:兴致勃勃的在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{...};

    这个老早就解决过...没想到后来又碰到了...然后不知所措...不过找了找之前项目果断搞定.....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值