在C ++中,通常使用gnome-terminal -x bash -c "command"
afaik
我不知道的是,可以将返回的int main(int argc, char* argv [])
提供给另一个.exe或.jar吗?例如,如果我在C ++中获得比在Java中更容易做的事情,我希望将结果分配给int
或java中的其他任何内容?
如果不是"多语言",这至少可以从一个C ++ exe到另一个吗?
答案 0 :(得分:1)
是。如果一个程序启动另一个程序,它可以在终止时收集该子程序的退出代码。
如果需要,您还可以在两个进程之间进行多次通信 - 比如在标准输入和标准输出之间设置管道,这样父和子可以通过读/写{{1}来发送任意消息} / cin
或者您可以在进程之间使用套接字,UNIX域套接字,TCP套接字,任何内容或共享内存。
查找IPC(进程间通信)。
顺便说一下;每个应用程序编写的语言无关紧要。重要的是他们使用相同的IPC机制。
答案 1 :(得分:0)
main
返回的值成为进程的退出代码。如果您启动子流程,那么您通常可以通过某种方式访问该值(请参阅the Process
docs for Java),但它通常不用于通信结果。按照惯例,退出代码用于报告成功或失败:0表示成功,非零退出代码用于表示各种错误情况。
从一个进程到另一个进程进行通信有多种方法。最简单的通常是将数据写入子进程的标准输入流,并从其标准输出和标准错误流接收数据。有关如何在Java中执行此操作,请参阅the ProcessBuilder
docs。进程也可以使用其他方法进行通信,例如套接字或共享内存,但这些是更大的主题。