これが私が理解しようとしているものです.彼らのドキュメントは、少なくとも私にはこれを十分に説明していません..
シナリオ:
C++ の protoc で生成した 5 つの proto ファイルがあります。私のアプリケーションはメッセージを受信し、値と名前にアクセスしながらすべてのフィールドを反復処理できる必要があります。
私がやりたいことは、メッセージを DynamicMessage クラスに解析してから、フィールドを反復処理することです。この方法では、メッセージが何であるかを正確に知る必要がなく、単一の一般的な方法ですべてを処理できます。
メッセージを特定のタイプに解析してメッセージ基本クラスとして扱うことでメッセージを処理できることはわかっていますが、私のアプリケーションではそれは望ましくありません。
「--descriptor_set_out」と動的メッセージクラスを介して、私がやりたいことが可能になるようです。
私が試したこと(そして失敗したこと):
私は、descriptor.proto を自分の proto と一緒にフォルダーに移動し、コンパイルのステップで他のものと一緒に含めました。また、--descriptor_set_out フラグを設定して、ファイル「my_descriptors.pb.ds」に出力します。
そこからどこに進むべきかわかりません。
あまり多くはありませんが、私が参照したものは次のとおりです... 長い投稿と、トピックの命名規則がやや曖昧で申し訳ありません。
また、明確でない場合、メッセージは「不明」ではないと仮定します。私のコードが「不明な」メッセージの処理を認識できるように、各プロトにそれぞれのヘッダーを含める必要があると思います。