检查"提升进程间managed_shared_memory"是否已存在?

Check if Boost Interprocess managed_shared_memory already exists?

本文关键字:quot memory 是否 shared 存在 进程 检查 managed      更新时间:2023-10-16

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

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

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

如果你想知道这两者中的哪一个发生了,你可以使用boost::interprocess::open_onlyboost::interprocess::create_only,但你需要在上面添加"外部"同步:c++ 读取时同步共享内存