在unicode版本下一些mfc程序会崩溃

来源:互联网 发布:centos7 网络只有桥接 编辑:程序博客网 时间:2024/05/22 13:30

     可能有人也碰到了向我一样的问题,那就是在多字节版本下的一个windows程序,但是在unicode版本下却会出现崩溃。崩溃的位置是在__tmainCRTStartup还是中。先看看mfc的启动流程吧。下面流程部分是转载的。

    

 

     可以再在启动的过程进行一步步跟踪查看执行过程。断点就下在WinMainCRTStartup,然后一步步来,就行了。

 

 

     在ansi中,调用_tWinMain时,直接到了我们自己的WinMain函数中,但是在Unicode下面怎么就不行了呢。    按照ms给的解决方案:http://support.microsoft.com/kb/125750。     把连接器-》高级-》入口点改成wWinMainCRTStartup之后,还是和之前一样,进入了mfc给的一个函数_tWinMain中。之后就会在AfxGetThread和AfxGetApp中得到空。最后就是崩溃了。这是为什么呢?再看看上面的流程,以及跟踪的过程知道,_tWinMain是一个宏,这也就是说,有可能没有找到正确的入口点位置。于是,我就选项中的入口点删除,重新运行,一切ok。就这么简单。

原创粉丝点击