managed_mapped_file是否能够因分配而增加文件大小?

时间:2014-08-07 16:18:11

标签: c++ boost boost-interprocess

我想使用boost::interprocess::managed_mapped_file处理内存映射文件。但是在文档中找不到有关内存分配的详细信息。

即使我知道如果在创建allocate()对象期间指定的所有内存(实际上是文件的大小)已经分配或者没有分配,boost::interprocess::bad_alloc会失败,并出现boost::interprocess::managed_mapped_file错误足够大的可用内存序列,或者只是增加了文件的大小。

如果失败了,怎么能让它增加文件的大小(比如增加两倍)?

1 个答案:

答案 0 :(得分:1)

您可以扩展内存映射文件,但不能在其他进程映射时生成内存映射文件。所有客户端通常都必须重新映射文​​件。

略有关联:boost::interprocess::managed_shared_memory: Grow(): Memory Reused?