典型的な C または C++ ではstruct
、開発者は、効率的なメモリ アラインメントとパディングが問題になる場合、データ メンバーを明示的に順序付けする必要があります。
Google の Protocol Buffersstruct
は s とよく似た動作をしますが、これらのコンパイルがメモリ レイアウトにどのように影響するかは明確ではありません。効率的なメモリ レイアウトのために特定の順序でデータを編成するこの傾向が、プロトコル バッファ コンパイラによって自動的に処理されるかどうかは誰にもわかりませんか? これに関する情報を見つけることができませんでした。
message
つまり、バッファーは実際には、protobufのオブジェクトで指定されているものとは異なる方法でデータを内部的に並べ替える場合があります。