C と Java の両方を使用してファイルから複数のプロトコル バッファー メッセージを読み書きしようとすると、 Java では、この目的のために一連の「区切り文字付き」I/O 関数が提供されていることが確認されています。ただし、C が同様の機能を提供するかどうかは不明です。
Java API 関数は次のとおりです。
バージョン 3.3.0 の時点で、Google は google/protobuf/util/delimited_message_util.h に次の C 相当物を導入することでこの問題に対処しました。
bool writeDelimitedTo( const google::protobuf::MessageLite& message, google::protobuf::io::ZeroCopyOutputStream* rawOutput) { // Code to write delimited messages } bool readDelimitedFrom( google::protobuf::io::ZeroCopyInputStream* rawInput, google::protobuf::MessageLite* message) { // Code to read delimited messages }
公式ライブラリを使用せずに C でサイズ接頭辞付きメッセージを解析しようとしている人のために、ワイヤ形式は次のとおりです。
提供された C 実装には、他の応答には欠けていた最適化が含まれています。これらの最適化により、次の機能が保証されます。
以上がC プロトコルのバッファ区切り I/O: Java と同等の関数はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。