如果有这样的问题被询问和回答,我很抱歉;我环顾四周,但没能找到任何东西。
我是 C++ 的 super 新手,我在 XCode 中创建了一个从 GUI 应用程序调用的命令行二进制文件。命令行二进制执行 shell 脚本。 (在你说什么之前,是的,我已经意识到这是一个不必要的事件链,但不幸的是,它必须是这样的。)所以操作顺序是 GUI -> 二进制 -> shell 脚本。一切运行良好,除了没有输出可言。我想以某种方式,以某种方式产生一个终端,并将在 shell 脚本中执行的命令的输出回显到终端。这在 C++ 中有可能吗?
非常感谢您的帮助!
最佳答案
我设法让终端运行ls
:
#include <stdlib.h>
int main() {
system("open -a Terminal /bin/ls");
return 0;
}
至于调用可执行文件的GUI,正常的架构是将可执行文件的核心逻辑放在一个共享库中。这样一来,GUI 和命令行程序都可以通过链接库来获得所需的功能。
关于OS X 中的 C++ spawn shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548498/