我只是在 Windows8 x64 上的 visual studio 2012 中创建了一个 win32 项目。该项目首先是空的。我将一个简单的 source.cpp 文件添加到项目中。我粘贴这些代码行(这是一本书的示例)。
#include <afxwin.h>
#include <windows.h>
struct CSimpleApp : public CWinApp
{
BOOL InitInstance() { return TRUE; }
};
AfxWinMain中winmain.cpp程序崩溃
if (!pThread->InitInstance())
错误是
Win32Project2.exe 中 0x0F6AD5D2 (mfc110ud.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。
我该如何解决这个错误
最佳答案
如果我对问题的理解正确,那么您已经创建了一个空项目并将这些代码行添加到一个新的 cpp 文件中。
如果要使用 Afx 支持或 MFC,则需要在创建项目时声明。 我建议您让 IDE 创建一个非空项目,检查构建和运行,然后开始向其中添加代码。
pthread
应该由框架为您初始化 - 如果您允许它自动为您生成支持代码。根据内存,它至少创建了一个名为 theApp
的全局 (arggg) 变量,类型为 CWinApp
,它将初始化它需要的东西,例如线程。
仔细阅读本书(的样本)并按照所有说明进行操作。如果这不起作用,请买一本更好的书。或者买整本书。或通过 tutorials 工作在 msdn 上。
关于c++ - MFC 应用程序启动后立即崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242974/