managed_mapped_file 是不是能够因分配而增加文件大小?
Posted
技术标签:
【中文标题】managed_mapped_file 是不是能够因分配而增加文件大小?【英文标题】:Is managed_mapped_file able to increase file size due to allocation?managed_mapped_file 是否能够因分配而增加文件大小? 【发布时间】:2014-08-07 16:18:10 【问题描述】:我想使用boost::interprocess::managed_mapped_file
处理内存映射文件。但是在文档中找不到有关它分配内存的详细信息。
即我想知道allocate()
是否因boost::interprocess::bad_alloc
错误而失败,如果在创建boost::interprocess::managed_mapped_file
对象(实际上是文件的大小)期间指定的所有内存都已分配,或者没有足够大的可用内存序列或者它只是增加了文件的大小。
如果失败,我怎样才能让它增加文件的大小(比如增加两倍)?
【问题讨论】:
【参考方案1】:您可以增长内存映射文件,但不能在其他进程已映射时增长。所有客户端通常都必须重新映射文件。
略相关:boost::interprocess::managed_shared_memory: Grow(): Memory Reused?
【讨论】:
以上是关于managed_mapped_file 是不是能够因分配而增加文件大小?的主要内容,如果未能解决你的问题,请参考以下文章
boost::interprocess::managed_mapped_file 如何包含弹性向量?