用于调试消息的跨平台GUI应用程序控制台
Cross-platform GUI application console for debug messages C++
我正在用c++编程一个游戏。我想使用std::cout从我的代码中打印调试消息,但由于这是一个GUI应用程序,默认情况下没有可打印的控制台。我试过简单地从CMD中运行它,像这样:
start Debug/hydro.exe
但无济于事。
在Windows 8 x86_64上使用Visual Studio 2012与Win32项目,以下代码实现了我正在寻找的:
#include <Windows.h>
...
AllocConsole();
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
然而,我相信这不是跨平台的(如果我错了请纠正我!),并希望我的应用程序在Linux和Mac OS x上工作。
是否有跨平台的解决方案?当然,越简单越好!
我不知道在Linux世界中有任何产品可以做到这一点-您期望从shell启动代码,并且输出出现在shell窗口中。
像这样换行应该有帮助:
#ifdef _WIN32
// Windows-only code here
#endif
在Windows外部时,代码将不被编译,在Windows内部时,代码将被编译!
如果你的代码依赖于<Windows.h>
,它绝对不是跨平台的。
查看用于跨平台日志记录的log4cxx。这是一个相当稳定、成熟的平台。
PS:祝你在跨平台GUI编程方面好运。GUI编程通常是平台特定的。像Qt这样的框架可能会有很大帮助,如果你正在做3D图形,一定要使用OpenGL而不是DirectX。
相关文章:
- GCP 或 AWS 是否支持 C++ 和 GUI 应用程序开发?
- 多线程Windows GUI应用程序中的死锁
- 为什么在Visual Studio中用c ++编写GUI应用程序的代码与控制台应用程序的代码不同?
- 如何使用Visual Studio 2017和Qt开发GUI应用程序?
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?
- QTCreator GUI应用程序中包含窗口基源代码并在代码中打开
- Qt GUI应用程序在与GUI交互时停止实时进程
- 如何将QT GUI应用程序的版本打印到主机上
- 您如何从已经运行的GUI应用程序中启动使用GUI的可执行文件
- QT 4.x/5.x和OpenGL用于桌面GUI应用程序:选择哪种模块
- Qt Gui 应用程序部署
- 在非GUI应用程序,优点和缺点中使用QT
- 使用 Qt 的简单线程 gui 应用程序的结构是什么?
- 如何将命令行插入 GUI 应用程序
- 如何在QT GUI应用程序中进行正确的线程处理
- Qt Creator中的Qt GUI应用程序构建设置
- 编译或运行PyQT4 GUI应用程序时,排除(或禁用)log4clus警告
- 在 Linux/Windows 上使用 c++ 的 GUI 应用程序
- cv::imshow在GUI应用程序运行时阻塞线程
- 如何在Qt GUI应用程序中嵌入输出控制台窗口