匿名段上的进程间内存分配器
boost::interprocess memory allocator on anonymous segment
我正在尝试使用类似map的段来分配stl容器上的对象,为此我使用boost::interprocess,它提供了内存映射,分配器和匿名内存映射支持。
有点像这样
我的问题是,anonymous_shared_memory
函数这里返回的东西看起来一半映射文件和一半共享内存(与mmap有意义:)),虽然这两种风格都与进程间分配器工作,这看起来像它缺少一个segment_manager,它做实际的块分配。
因为它返回一个高层次的mapped_region
已经映射到进程中,但没有管理器,也没有办法,我可以看到钩在一个segment_manager
。
mapped_region
是一个低级到中级对象,实际上只表示内存。然而,托管共享内存
是一个高级类,它结合了一个共享内存对象和一个覆盖所有共享内存对象的映射区域,
所以是托管内存拥有segment_manager
.
假设你想使用anonymous_shared_memory
,首先你会得到memory_region
的例子,然后你会使用位置new
把segment_manager
在它的开始。它的构造函数接受正在构造它的内存段的大小。我不知道这是否包括管理器的大小,尽管我怀疑它包括在内。
相关文章:
- 基于浅树的数据结构的内存分配器,用于频繁分配和解除分配
- 使用 AMD 的 Vulkan 内存分配器时出现链接器错误 (LNK2005)
- 自定义内存分配器示例(需要一些说明)
- 跨共享/静态库集成C++自定义内存分配器
- 带有realloc的自定义池内存分配器
- 正在重写MSVC++中的内存分配器
- 如何使用 CUDA 推力执行策略覆盖推力的低级设备内存分配器
- STL映射的自定义内存分配器
- 是否有自定义内存分配器设计模式不在其分配中存储元数据
- C++内存分配器和多态类型
- 具有自定义指针类型的内存分配器
- 符合 STL 标准的内存分配器库
- 内存分配器作用域的设计
- C++内存分配器体系结构
- 如何评价自定义内存分配器的质量
- 匿名段上的进程间内存分配器
- 处理使用boost::进程间STL兼容共享内存分配器创建的c++对象的正确方法是什么?
- c++内存分配器vptr/new实现
- 自定义内存分配器:T*指针,运算符new与void指针强制转换
- 是否有用于多线程内存分配器的验证套件