私は現在、Linuxでコンパイルしたいvs2012でコードを書いています。進行状況をシリアル化してファイルに保存し、その保存ファイルに 32 ビットと 64 ビットのアーキテクチャ、および Windows と Linux の両方でアクセスできるようにしたいと考えています。
シリアル化ライブラリを使用したくありません。
これを実現するために、バイナリ ファイルでの格納と取得のために、型、つまり float、double、int32、および int64 (符号付きおよび符号なし) を固定長およびポータブル プリミティブに変換および取得できる関数が必要です。私の理解では、bool 型と char 型は標準で指定されているため、すでに移植可能です。
パフォーマンスは重要ではありませんが、サイズは重要であるため、ここでは ASCII は実行可能なソリューションではありません。たとえば、指定した固定長よりも大きなビット長をプラットフォームが使用したり、その逆の場合に、精度がいくらか失われてもかまいません。
私は初心者なので、エンディアン、IEEE などについてあまりにも多くの話をすると、私は混乱し、イライラします。
私は、箱から出してすぐにこれらの変換を行うライブラリに特に興味がありますが、それがこれを達成する唯一の方法である場合は、独自のものを展開することを検討します.
参考までに、boost はスマート ポインターでは機能せず、シリアルは VS2012 では機能せず、Microsoft のものは Linux では機能しないため、シリアライゼーション ライブラリは必要ありません。これらを機能させるために落書きをしなければならない場合は、自分でやったほうがいいと思います。
何か案は?
編集:ブーストシリアル化ライブラリのc ++ 11互換性について教育を受けているので、喜んでその解決策に落ち着きます。