2

既存の .proto ファイルを使用せずにメッセージを作成し、それらの cpp/cxx/h ファイルからコンパイルしたいとします。protobuf を厳密にライブラリとして使用したいと考えています。MyMessageたとえば、(私たちだけが知っている形式で)メッセージの説明を取得しましMyIntFielsMyStringFiels。そのようなメッセージを作成する方法は?たとえば.bin、そのバイナリに保存してその内容を読み戻す単純なデータでそれを埋めますか?

dynamic_message.h ヘルプの説明や DescriptorPool などをすべて調べましたが、メッセージにフィールドを追加/削除する方法や、記述されたオン フライ メッセージを DescriptorPool に追加する方法がわかりません。

誰でも説明できますか?

4

1 に答える 1

2

短い答え: そのように使用することはできません。

Protobufの概要ページには次のように書かれています。

XML は、ある程度自己記述的でもあります。プロトコル バッファは、メッセージ定義 (.proto ファイル) がある場合にのみ意味があります。

Protobufの要点は、解析速度を優先して自己記述性を捨てることです==>自己記述型メッセージを作成することが目的ではありません。

XML、JSON、またはその他のシリアル化形式の使用を検討してください。保護が必要な場合は、対称暗号化や lzip 圧縮を使用できます。

于 2013-01-09T08:45:22.023 に答える