ファイル構造を定義する必要があるときはいつでも、コンパイラ固有のコマンド ( など#pragma pack(1)
) を使用して、このファイルを安全に読み書きできるようにし、パディングの問題を心配する必要がないようにします。
しかし、同じ目標を達成する他の方法はありますか? 複雑なオブジェクトを逆シリアル化する必要はなく、POD 型だけです。
ファイル構造を定義する必要があるときはいつでも、コンパイラ固有のコマンド ( など#pragma pack(1)
) を使用して、このファイルを安全に読み書きできるようにし、パディングの問題を心配する必要がないようにします。
しかし、同じ目標を達成する他の方法はありますか? 複雑なオブジェクトを逆シリアル化する必要はなく、POD 型だけです。
型のメモリ内表現に常に適切にマップされるクロスプラットフォームのバイナリ形式を定義することは不可能です。
クロスプラットフォーム ファイル形式を定義するための 2 つのオプションは次のとおりです。
Boost Serialization Libraryは、問題なく迅速に解決したい場合に、オプションになる可能性があります。