是否有办法(try-catch除外)确定具有特定名称的boost::interprocess:managed_shared_memory
区域是否已存在?
我知道如果我在managed_shared_memory区域内分配一个Interprocess向量,我可以使用managed_shared_memory :: find()检查它是否存在,但似乎没有办法检查managed_shared_memory区域是否存在本身存在。
答案 0 :(得分:1)
您可以将构造函数与boost::interprocess::open_or_create
一起使用。
如果您想知道这两个中的哪一个发生了,可以使用boost::interprocess::open_only
或boost::interprocess::create_only
,但您可以在顶部添加“外部”同步:c++ Synchronize shared memory when reading