当我进行调试构建时,这个简单的hello world程序(取自eclipse)在退出时崩溃:
#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
我用它构建它:
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o main.o "..\\main.cpp"
g++ -o test.exe main.o
当我运行test.exe时,控制台会打开(带有消息),但我也收到一条崩溃消息(test.exe已停止工作),错误代码为0xc0000005(访问冲突)。现在如果我用-O1而不是-O0编译同一个文件,生成的可执行文件运行没有问题。我正在运行Windows 8.1(64位),可执行文件是32位,我正在使用mingw和g ++版本4.8.1。
有人知道可能导致此问题的原因吗?
答案 0 :(得分:0)
如果这样一个简单的代码出现问题,那很可能是这个版本的mingw中有这组编译器密钥的错误。在mingw支持中写下这种行为可能很有用。