Cocoa app和C终端应用程序之间的进程间通信

时间:2017-09-01 11:59:50

标签: c macos cocoa macos-sierra

我有用C编写的终端应用程序,编译成.so二进制和桌面Cocoa应用程序。在给定的时刻,终端应用程序应该调用Cocoa应用程序,转发一些字符串参数并等待Cocoa应用程序返回一些结果。正如我读到的那样,有很多选择如何实现这一目标。如果有人对这样的场景有个人经验,我感兴趣吗?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用系统调用直接调用应用程序,让应用程序将其数据写入您指定的某个文件中,然后您可以解析它。

更复杂的方法是使用套接字在两个应用程序之间打开/多个通信管道(这将允许它们相互通信,同时仍继续执行其他操作)。

您选择的方法究竟取决于您希望实现的目标以及您最终想要使用这些应用程序的方式:快速和肮脏是否足够或您是否希望生成其他人可以重复使用和/或可扩展的内容在某些时候使用?那是你决定的:)