gpt4 book ai didi

c++ - 我如何在与另一个 C++ 文件不同的终端中运行 C++ 文件?

转载 作者:行者123 更新时间:2023-11-28 00:14:20 28 4
gpt4 key购买 nike

我是 ubuntu 的新手,正在探索终端。我被困在这里了。我有两个 c++ 文件 x.cpp 和 y.cpp 。我正在从第一个终端运行 x。它有一行如下:

system("gnome-terminal");

这将打开一个新的终端窗口。接下来是这样的:

system("g++ y.cpp");
system("./a.out");

但这会在同一个终端窗口中运行 y。我想让 y 在新打开的终端窗口中运行。请帮忙。

最佳答案

每次调用 system() 都会运行一个单独的新进程,作为调用进程的子进程。进程之间没有关系(除了它们具有相同的父进程)。对系统的每次调用都不会在与前一次调用相同的上下文中运行另一个命令,就像在 shell 命令行上运行一样。

您可以使用要运行的命令(而不是 shell 提示符)启动 gnome-terminal,这样您就可以使用 system() 启动运行的 gnome 终端你想要的命令:

system("gnome-terminal -e 'sh -c \"g++ y.cpp && ./a.out\"'");

这将运行命令 gnome-terminal -e 'sh -c "g++ y.cpp && ./a.out"'(但您需要转义双引号字符以放置C++ 字符串文字中的命令)。

这告诉 gnome-terminal 使用命令 g++ y.cpp && ./a.out 运行一个 shell (sh)/p>

关于c++ - 我如何在与另一个 C++ 文件不同的终端中运行 C++ 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313010/

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