gpt4 book ai didi

需要最少样板的 C 跨平台 RPC?

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:09 26 4
gpt4 key购买 nike

我有一个现有的 C 语言库,我希望能够允许远程访问(从 Linux 或 Windows)。

我查看了常见的 RPC 嫌疑人,如 Thrift 和 Protobuf,但它们都没有干净地处理 C 风格的函数调用(比如 pass-by-ref、char* 而不是 string、* 而不是 List<> 等) .

简而言之,要使用其中任何一个,看起来我需要从头开始编写一个完整的 IDL,并添加大量样板代码以将 C 风格的函数调用转移到这些环境中。

有没有相关的 RPC 库

  • 可以直接处理C头文件(或有自动工具从 C 定义生成初始 IDL)?
  • 跨平台 Linux/Windows 兼容吗?
  • 需要绝对最少的样板代码?
  • 支持套接字
  • 性能相对较高(我指的是 XML-RPC)?

最佳答案

嗯,有 protobuf-c , protobuf 在 C 中的实现。

然后是经典的XDR ,在大多数/(所有?)类 unix 系统上都可以找到,也存在适用于 windows 的版本。另见 Linux xdr(3) man page其中包含 API 的概述。

请注意,protobuf 和 XDR 都是序列化库,它们不提供 RPC。 XDR 的“配套 RPC 库”称为 RPC。 ,但我认为没有人用它编写新代码,而且 AFAICS 它是特定于 unix 的(portmap 不在 Windows 上运行,是吗?而且这通常是个坏主意。)。然后是protobuf-c-rpc这是 protobuf RPC 库的 C 版本;可能比经典 RPC 更好。

关于需要最少样板的 C 跨平台 RPC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23125002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com