2

C++ でクラスをシリアライズし、プロトコル バッファを使用して C# で同様のクラスにデシリアライズすることは可能ですか? さまざまなプラットフォームでこのシリアル化の問題を解決するために Json シリアル化を試みましたが、配列リストなどの一部のデータ型に問題があります。Google のプロトコル バッファの使用に関するアドバイスはありますか?

4

1 に答える 1

6

Protocol Buffers を使用すると、データ構造を記述し、それを C++、Java、C# およびその他のプラットフォームのオブジェクトにシリアライズ/デシリアライズできます。生成されたクラスのインスタンスをシリアル化します。(protobuf-net を使用すると、生成されたクラスを使用するのではなく、プロトコル バッファーにシリアル化する方法を説明する属性で独自のクラスを装飾できることを知っています。それが C++ で行われたかどうかはわかりません。)

それが本当にあなたの要件を満たしているかどうかは明らかではありませんが、protobufs は確かにクロスプラットフォームのデータ交換を可能にします。シリアル化できるデータに関しては制限があります-それはすべてかなり原始的であり、原始的なものからより複雑な構造を構築します。コードでデータモデルを既に取得していて、プロトコルバッファで再実装する必要がある場合、それはイライラする可能性がありますが、うまくいきます...

于 2012-10-25T06:14:22.217 に答える