私は単純な構造体を持っています:
struct MyType
{
std::string name;
std::string description;
}
そして私はそれを共有メモリに入れています:
managed_shared_memory sharedMemory(open_or_create, "name", 65535);
MyType* pType = sharedMemory.construct<MyType>("myType")();
// ... setting pType members ...
共有メモリと通信する2つのアプリケーションが異なるバージョンのVisualStudio(異なるバージョンのstl実装)を使用して構築されている場合、stlタイプの代わりにネイティブタイプ(char *など)を共有メモリに配置する必要がありますか?
編集:
で試してみました
typedef boost::interprocess::basic_string<char> shared_string;
そしてそれは動作します!