检查Boost Interprocess是否已存在managed_shared_memory?

时间:2018-05-01 09:40:12

标签: c++ boost boost-interprocess

是否有办法(try-catch除外)确定具有特定名称的boost::interprocess:managed_shared_memory区域是否已存在?

我知道如果我在managed_shared_memory区域内分配一个Interprocess向量,我可以使用managed_shared_memory :: find()检查它是否存在,但似乎没有办法检查managed_shared_memory区域是否存在本身存在。

1 个答案:

答案 0 :(得分:1)

您可以将构造函数与boost::interprocess::open_or_create一起使用。

如果您想知道这两个中的哪一个发生了,可以使用boost::interprocess::open_onlyboost::interprocess::create_only,但您可以在顶部添加“外部”同步:c++ Synchronize shared memory when reading