在.NET中序列化,在C++中反序列化

Roe*_*oey 11 c# c++ serialization

我有一个.NET应用程序,它以二进制格式序列化对象.这个对象是一个由几个字段组成的结构.

我必须在C++应用程序中反序列化并使用此对象.我不知道是否有任何C++序列化库,谷歌搜索没有太多.

实现这一目标的最快方法是什么?

提前致谢.Roey.

更新:我已经在我的.NET应用程序中使用Protobuf-net进行了序列化,相对容易.我还使用GetProto()命令获取protobuf-net生成的.proto文件.在.proto文件中,我的GUID字段得到一种"bcl.guid",但C++ protoc.exe编译器不知道如何解释它们!我该怎么办?

jam*_*one 7

你能编辑.NET应用程序吗?如果是这样,为什么不使用XML Serialization以易于导入的格式输出数据?


Mar*_*ell 7

如果您正在使用BinaryFormatter,那么几乎是不可能的.不要去那里......

协议缓冲区设计为可移植,跨平台和版本容忍(因此在添加新字段时不会爆炸).谷歌提供C++版本,有几个免费提供的C#版本(包括我自己的版本) - 请参阅此处查看完整列表.

小巧,快速,简单.

请注意,protobuf-net的v1不会直接处理结构(你需要一个DTO类),但v2(很快)确实测试了结构支持.