Microsoft RPC 提供了一种可以以函数调用方式完成的 IPC 机制。这对我的项目非常有帮助,我的主服务将任务委托给子进程,并且可以调用子进程中的函数,就好像它们在主服务中实现一样。这消除了在使用其他 IPC 机制(如命名管道、套接字、protobuf 等)时必须序列化抽象数据和定义自定义协议的负担。我知道 RPC 确实在内部使用它们。
我读过一篇关于为 Mac OS X 实现 COM的文章,这可能是最接近我需要的东西。如果我找不到其他方法来实现我需要的 IPC 类型,我可能会选择 COM,但我想我会确保我没有遗漏任何东西。