gpt4 book ai didi

c++ - 控制台应用程序无法在 Linux 上运行

转载 作者:太空宇宙 更新时间:2023-11-04 11:04:22 25 4
gpt4 key购买 nike

我在 linux 上工作,我在我的第一个 c++ 项目中使用 code::blocks。 main.cpp :

#include <iostream>
using namespace std;

int main()
{
cout<<"Hello World"<< endl;
return 0;
}

项目搭建调试良好。它可以工作但是当我按照可执行文件的路径并从调试文件夹运行它时应用程序没有显示任何东西问题是什么,解决方案是什么? (此问题仅与控制台应用程序有关)

最佳答案

您可能来自 MS-Windows 背景。

在Windows中,当你双击一个控制台程序时,系统会自动创建一个控制台窗口,并将该程序的标准输入输出流连接到该控制台。

在 Linux 中没有“控制台程序”或“GUI 程序”这样的东西。只有碰巧读取/写入标准流的程序、执行 GUI 的程序或两者都执行。

结论是您的程序很可能完美地工作 find 和 int 打印到它的标准输出...

这个标准输出通向哪里?那将是另一个问题......但无论如何我都会尝试回答。它将继承父进程的标准输出,即您的“文件管理器”。如果它恰好是从终端运行的(不太可能),那么您会在那里看到输出。如果它是从桌面 session 启动的(可能),那么这取决于 session 管理器首先对 STDOUT 做了什么。他们中的大多数将其重定向到主文件夹中的隐藏文件。您可以尝试运行 $ grep "Hello World"~/.* 看看会发生什么。

如果你想通过双击运行终端窗口,你应该写一个 .desktop项(如 Windows 快捷方式)并设置 Terminal=true。也许您的“文件管理器”已经有一个工具可以自动生成 .desktop 文件。

或者,您可以编写一个 shell 脚本来启动 xtermgnome-terminalkonsole... 以及您在其中的程序。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com