我如何 运行 一个独立终端中的 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
我是 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