クライアントとサーバーの間でデータを転送する必要があります。 Windows(msvc140)からDebian(gcc 64-bit)にサーバーを移動したとき、私はバイトストリームクラスの問題を持っています(boost
に基づいています)。それらのアーカイブは異なっています。 boost
のboost binary_oarchiveはコンパイラごとに異なる動作をします
#include <string>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/iostreams/device/back_inserter.hpp>
#include <boost/iostreams/stream.hpp>
int main()
{
std::string s;
typedef boost::iostreams::back_insert_device<std::string> BackInsertDevice;
typedef boost::iostreams::stream<BackInsertDevice> Stream;
typedef boost::archive::binary_oarchive BinaryOArchive;
Stream stream(s);
BinaryOArchive ar(stream);
ar << "qwer" << 10;
stream.flush();
int sz = s.size();
// Windows (msvc140): 49
// Debian (gcc 64-bit): 57
}
両方のバージョンが文書化されています1.61.0
の代わりに使用することは非常に簡単ですが、あなたのWindowsの32ビットのですか? @Leon。 – Leon
はい。そうです。 – Ufx