匿名段上的boost :: interprocess内存分配器

Ark*_*nez 7 c++ linux boost multiprocessing interprocess

我正在尝试使用类似mmap的段来分配stl容器上的对象,因为我正在使用boost :: interprocess,它提供了内存映射,分配器和匿名内存映射支持.
有点像这样

我的问题是这里anonymous_shared_memory函数返回的内容看起来是半映射文件和半共享内存(对mmap有意义))虽然这两种样式都与进程间分配器一起使用,但这个样子看起来像缺少一个执行实际块分配的segment_manager. 因为它返回一个已经映射到进程中的高级别,但没有经理,也没有办法让我看到挂钩.
mapped_regionsegment_manager

rco*_*yer 3

Amapped_region是一个低到中级的对象,从字面上看只代表内存。 然而,托管共享内存

是一个高级类,它结合了共享内存对象和覆盖所有共享内存对象的映射区域,

因此,托管内存拥有segment_manager.

鉴于您想要使用,首先您将按照示例anonymous_shared_memory获得 the ,然后您将使用放置将a 放在它的开头。它的构造函数采用构建它的内存段的大小。我不知道这是否包括管理器的大小,尽管我怀疑它包括在内。memory_regionnewsegment_manager