我如何 运行 一个独立终端中的 c++ 文件与另一个 c++ 文件?

how do i run a c++ file in a separate terminal from another c++ file?

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

system("gnome-terminal");

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

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

但是这个运行在同一个终端window。我要在新打开的终端 window 中 运行。请帮忙。

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

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

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

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

告诉 gnome-terminal 到 运行 a shell (sh) 用命令 g++ y.cpp && ./a.out