【发布时间】:2014-06-17 11:34:29
【问题描述】:
在开发一个简单示例的过程中(我已经有一段时间没有编写 C++ 了)我遇到了一个奇怪的行为。以下 hello world 程序在 Windows (Mingw) 下崩溃:
#include <iostream>
int main () {
for (int idx = 0; idx < 5; idx++) {
std::cout << "Hello World" << std::endl;
}
return 0;
}
如果我删除std::endl,程序不会崩溃。
我使用以下命令编译和执行示例,在 64 位系统和操作系统上使用 Mingw32 (g++ 4.8.1):
g++ example.cpp -o example.exe
example.exe
错误信息是:
example.exe 不再工作...
这是一个已知问题还是我的明显错误?
【问题讨论】:
-
来自 Windows 的非常有意义的报告“example.exe 不再工作...”
-
你用的是什么版本的mingw?您使用的是 32 位还是 64 位系统和编译器?看起来像库版本冲突
-
我在 64 位系统和操作系统上使用 Mingw32(带有 g++ 4.8.1)。但是 32 位应用程序在 64 位系统上通常不会有问题。我当然可以测试 Mingw-w64...
-
请测试一下。是的,我同意,32 位应用程序应该可以正常运行,我怀疑您的构建系统中存在一些错误配置,但是我对 Windows 了解不多。
-
@Erbureth
OutputDebugString,例如。
标签: c++ crash stdout std mingw32