关于在线程函数中向主线程发送自定义消息的问题。
程序是MFC SDI结构,在View类里自定义了一个消息响应函数,然后在另外一个worker thread中用::SendMessage()发送该消息。
在DEBUG版本中,程序运行正常,但是在Release版本(已关闭优化)中程序异常。跟踪后发现在消息响应函数执行完之后,View类里的所有成员变量(不管什么类型)值都被置为了 0 ,(导致接下来有些用到成员变量的函数不能正常运行),而在DEBUG版本中,成员变量值能保持不变。刚开始怀疑是不是有内存越界访问,但是察看View类对象对应的内存区,发现只有成员变量的区域被填充了 0 ,而前后的其它区域内存值不变。
想请教大侠们,这到底是怎么回事呢?多谢啦!