2

我已经让谷歌协议缓冲区与 Linux 作为服务器一起使用,而 Windows 下的 C#.Net 作为客户端。但是,我看不到生成 C++.net 的方法。有人可以指出我该怎么做吗?

谢谢。

伊万

4

1 回答 1

3

我不知道完整的 C++ .NET 实现,也没有在3rd party add-ons中列出,所以我认为您有几个选择:

  • 使用非托管C++ 实现(可能是 google 版本),并手动映射非托管和托管类型
  • 使用其中一种 C# 实现(protobuf-net 或 protobuf-csharp-port 将是我的偏好,具体取决于您是否想要惯用的 .NET 与惯用的 protobuf),并将其编译为 C# 库,然后简单地从您那里引用 C# 库C++ .NET 项目
  • 为您选择的实现编写(并且最好是贡献)一个 C++ .NET 转换器(因为您已经标记了 protobuf-net,我将观察到这意味着为 protobuf-net 编写一个 xslt 文件)

如果您想要最实用的 C++ 选项,我会选择第一个。如果您想要最实用的 .NET 选项,我会选择第二个。如果您需要一个可以包含在现有项目中的适当 C++ .NET 文件,我会选择第三个。

于 2012-08-22T19:22:13.950 回答