Linux 上没有控制台应用程序

sec*_*tor 5 c c++ linux codeblocks

在 Windows 上,我通常创建一个 Windows 桌面应用程序,这是因为控制台应用程序在屏幕上显示一个简短的黑框。

我在 Linux Mint 上使用 CodeBlocks,我怎么能在 Linux 上做与上面相同的事情?

我不想在显示后隐藏终端窗口。

Jon*_*oni 9

Linux 没有与 Windows相同的“子系统”概念:控制台和桌面应用程序之间没有区别或分离。当您在 Linux 上启动应用程序时,它不会打开控制台窗口,除非程序员对其进行明确编程以打开控制台窗口。

如果应用程序向stdoutor写入任何内容stderr,会发生什么取决于应用程序是如何启动的。默认情况下,应用程序继承其父进程的stdoutstderr。如果应用程序是从终端启动的,输出将在终端上可见。如果应用程序是由桌面环境从菜单项启动的,则输出可能会转到日志文件或可能会丢失。

如果您在从 IDE 运行程序时看到终端窗口打开,则这是 IDE 为您执行的操作,而不是您的应用程序。如果它打扰您,我认为 IDE 有办法在设置中禁用此行为。

  • @JoelFan 你是什么意思?如果单击 Gnome/KDE 系统菜单项会在终端仿真器中打开应用程序,这是因为该菜单项被配置为打开终端仿真器。这是由 .desktop 文件中的“Terminal”设置控制的 https://specations.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html (2认同)

Joe*_*Fan 4

看看QT。它是一个在 Linux 上运行的 GUI 框架。

您可以在不创建主窗口的情况下编写代码(或者也许您必须有一个主窗口,但它可以始终隐藏......自从我使用它以来已经有一段时间了)。

但请注意,这种类型的设计可能会遇到可用性问题……用户无法知道您的应用程序是否已启动、是否成功、何时完成等。