【发布时间】:2012-01-29 16:31:51
【问题描述】:
我即将着手一个项目来连接两个程序,一个在 c# 中,一个在 c++ 中。我已经有一个可以工作的 c# 程序,它能够与自身的其他版本通信。在开始使用c++版本之前,我已经想到了一些问题:
1) 我使用的是 protobuf-net v1。我认为来自序列化程序的 .proto 文件正是 c++ 版本所需的模板?谷歌搜索提到了一些关于帕斯卡大小写的东西,但我不知道这是否重要。
2) 如果其中一种 .NET 类型在 c++ 中没有直接对应物,我该怎么办? 如果我有小数或字典怎么办?我是否必须以某种方式修改 .proto 文件并将数据压缩成不同的形状? (我会检查文件,看看我能不能弄明白)
3) 人们还能想到其他的陷阱吗?二进制格式之类的?
编辑 我现在已经查看了其中一个原型文件。似乎 .NET 特定的东西被标记了,例如 bcl.DateTime 或 bcl.Decimal。子类型包含在原型定义中。不过,我不确定如何处理 bcl 类型。如果我的 c++ prog 看到小数点,它会做什么?
【问题讨论】:
标签: c# c++ protocol-buffers protobuf-net