У меня есть, простая структура:наддув: разделяемая память и Сейнт типы
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 ...
Если два приложения связи с общим память построена с использованием другой версии Visual Studio (другая версия реализации stl), следует ли мне помещать собственные типы в общую память (например, char *) вместо stl-типов?
Edit:
Я попытался с
typedef boost::interprocess::basic_string<char> shared_string;
и это работает!
Да, посмотреть в этом разделе документации: http://www.boost.org/doc/libs/1_39_0/doc/html/interprocess/allocators_containers.html#interprocess. allocators_containers.containers_explained –