C++程序没有输出

No output from C++ program

首先,如果这属于错误的类别,我很抱歉,因为我不确定这个问题的原因是什么。

出于教育目的,我创建了一个小型 "Hello World" 应用程序

#include <iostream>
int main() {
    std::cout << "Hello World\n";
    return 0;
}

我试过用 Visual Studio 和 MINGW-64(g++ -m64 main.cpp) 作为 64 位应用程序编译它。它 运行 在我的 Windows 计算机上非常完美,但是当我尝试在最新的 Windows PE 中 运行 它时,它没有打印出任何东西。我也尝试过 std::cin 这样程序不会立即停止,但同样的事情发生了——没有输出也没有错误。

我知道 WinPE 在包含的库和子系统方面非常有限,但我真的认为这个简单的 Hello World 应用程序会 运行。 WinPE环境是64位的,所以我编译成64位

我应该从哪里开始?

使用

    std::cout << "Hello World" << std::endl;

std::endl 将刷新内容并在消息末尾添加 \n。

我找到了真正的问题所在。我没有静态编译应用程序,这导致它依赖于 WinPE 中找不到的依赖项。我使用“-static”标志重新编译它,它现在可以在 WinPE 和 Windows 的桌面版本上按预期工作。