是否可以使用 Protocol Buffer 在 C++ 中序列化一个类并将其反序列化为 C# 中的类似类?我已经尝试使用 Json 序列化来克服不同平台中的这个序列化问题,但是它在某些数据类型(例如数组列表等)上存在问题。那么关于使用 google 的 Protocol Buffer 有什么建议吗?
最佳答案
Protocol Buffers 允许您描述数据结构,并将其序列化/反序列化为 C++、Java、C# 和其他平台中的对象。您(通常,无论如何)不会序列化您自己的类的实例 - 您序列化生成的类的实例。 (我知道 protobuf-net 允许您使用描述如何将它们序列化到 Protocol Buffer 的属性来装饰您自己的类,而不必使用生成的类。我不知道 C++ 是否已经这样做了。)
尚不清楚这是否真的满足您的要求,但 protobufs 肯定允许跨平台数据交换。它在可以序列化哪些数据方面确实有限制——它们都是相当原始的,并且您可以从原始结构构建更复杂的结构。如果您已经在代码中获得数据模型,然后必须在 Protocol Buffer 中重新实现它,那可能会令人沮丧,但它确实有效...
关于c# - 用于序列化 C++ 和反序列化为 C# 类的 Protocol Buffer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13062615/