在创建托管共享内存对象时boost :: interprocess ubuntu异常

时间:2016-09-09 10:33:50

标签: c++ ubuntu boost boost-interprocess

我是boost的新手,我正在尝试在使用boost的进程之间使用共享内存。 它在我的Windows vs2010上完美运行,4个进程与管理器共享内存,在启动其他进程之前启动共享内存机制。

但是我在VirtualBox Ubuntu 14上使用boost 1.58和intel编译器获得了interprocess_exception,相同的代码在vs2010的Windows上运行

struct shm_remove 
{
  shm_remove() { shared_memory_object::remove("MySharedMemory1"); }
  ~shm_remove() { shared_memory_object::remove("MySharedMemory1"); }
} cleaner;

// exception occurs in the next line 
managed_shared_memory sharedMemSegment = managed_shared_memory(boost::interprocess::create_only, "MySharedMemory1", 65536);

确切错误: “在抛出'boost :: interprocess :: interprocess_exception'之后调用终止what():没有这样的文件或目录

更改为boost :: interprocess :: open_or_create没有帮助

非常感谢帮助, 阿米特

0 个答案:

没有答案