【发布时间】:2014-11-27 21:55:34
【问题描述】:
我需要编写一些 C/C++ 代码以移植到 Windows 和 Linux,使用 RPC(仅在同一主机上的进程之间,而不是跨网络,因此不需要跨平台调用)。
Windows 有 MSRPC,Linux 有 Sun-RPC,但它们在编写 RPC 调用和方法方面不兼容,甚至在部署 RPC 服务的方式方面也不兼容。
有人对如何解决这个问题有任何聪明的想法吗?
【问题讨论】:
-
#if defined(WIN32) ... #elif defined(__LINUX__) ... #else ... #endif -
boost.interprocess 存在。我从未尝试过。
-
boost.interprocess 非常低级。我希望在 IDL 级别有更多的东西,您可以在其中以自然的方式声明和调用过程。启用了
rpcgen之类的东西。我看到有一个 rpcgen 到 Windows 的端口,但它很旧并且没有维护。