gpt4 book ai didi

c# - protobuf-net 与 C++ 通信

转载 作者:太空狗 更新时间:2023-10-29 23:10:13 29 4
gpt4 key购买 nike

我正在研究用于实现各种消息传递格式的 protobuf-net,我特别喜欢基于契约的方法,因为我不必弄乱 proto 编译器。我无法找到相关信息的一件事是,这是否会使跨平台工作变得困难?有一些 C++ 应用程序需要能够解析 PB 数据,虽然我知道 protobuf-net 序列化为 PB 标准格式,但如果我使用契约方法而不是原型(prototype)文件,C++ 端如何解析数据?

我可以(应该吗?)为 C++ 需要理解数据的(极少数)情况编写一个单独的原型(prototype)文件?如果是这样,我如何确切地知道从原型(prototype)文件生成的 C++ 类将匹配来自无原型(prototype)文件 C# 端的数据?

最佳答案

是的,理论上至少它们应该在二进制级别匹配,但您可能希望将自己限制为简单映射到“.proto”的类型 - 所以避免像 DateTime、继承 ( [ProtoInclude]), 等。这也有你应该能够使用的优点:

string proto = Serializer.GetProto<YourType>();

获取.proto;它 (GetProto) 不是 100%,但它适用于基本类型。但最终,答案是“测试和调整”;也许从一开始就为互操作设计 - 即尽早测试。

关于c# - protobuf-net 与 C++ 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970843/

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