c++ - Linux 上没有控制台应用程序

标签 c++ c linux codeblocks

在 Windows 上,我通常会创建一个 Windows 桌面应用程序,这是因为控制台应用程序会在屏幕上显示一个简短的黑框。
我在 Linux Mint 上使用 CodeBlocks,我怎么能在 Linux 上做与上述相同的操作?
我不想在显示终端窗口后隐藏它。

最佳答案

Linux 没有与 windows 相同的“subsystem”概念:控制台和桌面应用程序之间没有区别或分离。当你在 Linux 上启动一个应用程序时,它不会打开一个控制台窗口,除非程序员明确地编程让它打开一个。
如果应用程序向 stdout 写入任何内容或 stderr , 这会发生什么取决于应用程序是如何启动的。默认情况下,应用程序继承 stdoutstderr其父进程。如果应用程序是从终端启动的,则输出将在终端上可见。如果应用程序是由桌面环境从菜单项启动的,则输出可能会进入日志文件,或者可能会丢失。
如果您在从 IDE 运行程序时看到打开的终端窗口,那是 IDE 正在为您做的事情,而不是您的应用程序。如果它困扰您,我认为 IDE 有办法在设置中禁用此行为。

关于c++ - Linux 上没有控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62866627/

相关文章:

c++ - 如何将指针转换为未命名的结构指针?

c++ - 编写多个 If 语句的优雅方式

c - 获得保证具有完整(4 位)年份数字的 LOCALE_SSHORTDATE 的正确方法是什么?

c++ - 当您不知道整数范围是按升序还是降序排列时,如何迭代它?

c++ - 将字符串解析为 C 风格字符数组的结构

c - 枚举声明错误

c - 在确定字符数的同时打印数组

java - 当 OP_ACCEPT 事件发生时,解复用器是如何被通知的

c - perror() 和 printf() 之间的区别

java - 如果应用程序处于 GC 中,如何可靠地获取 JVM 核心转储?