【发布时间】:2013-05-13 18:03:30
【问题描述】:
我正在用 C++ 编写游戏。我想使用 std::cout 从我的代码中打印调试消息,但由于这是一个 GUI 应用程序,因此默认情况下没有可打印的控制台。我尝试过像这样从 CMD 运行它:
start Debug/hydro.exe
但无济于事。
在 Windows 8 x86_64 上使用带有 Win32 项目的 Visual Studio 2012,以下代码实现了我正在寻找的内容:
#include <Windows.h>
...
AllocConsole();
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
但是,我认为这不是跨平台的(如果我错了,请纠正我!)并且希望我的应用程序可以在 Linux 和 Mac OS X 上运行。
有没有跨平台的解决方案?当然,越简单越好!
【问题讨论】:
-
如果您想要“控制台”调试消息,只需从终端窗口运行程序,并使用
std::cout?这就是大多数程序(游戏或其他程序)的方式。 -
我试过这个(这是我在 Linux 上解决程序的方法),但没有打印出来。我已经在使用 std::cout 了。
标签: c++ cross-platform