【问题标题】:std::endl results in crashstd::endl 导致崩溃
【发布时间】: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


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2012-03-06
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2020-12-02
    • 2013-11-11
    • 2011-01-24
    相关资源
    最近更新 更多