managed_mapped_file是否能够由于分配而增加文件大小

Is managed_mapped_file able to increase file size due to allocation?

本文关键字:分配 增加 文件大小 file mapped 是否 managed 于分配      更新时间:2023-10-16

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

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

如果它失败了,我如何使它增加文件的大小(比如增加两倍)?

您可以增长内存映射文件,但不能在其他进程已经映射它的情况下增长。所有客户端通常都必须重新映射文件。

稍微相关:boost::interprocess::managed_shared_memory: Grow(): Memory reuse ?