首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux中mremap函数的特点

Linux中mremap函数的特点
EN

Stack Overflow用户
提问于 2013-04-18 10:13:57
回答 1查看 898关注 0票数 3

在Linux中,mremap函数用于重新映射使用mmap映射的内存。请帮助我澄清以下几点:

  1. 如果mremap函数失败,旧映射内存的状态如何?
  2. 如果mremap函数失败,是否需要调用munmap函数?
  3. 如果mremap函数成功,那么在内存中是否有以前的数据?
EN

回答 1

Stack Overflow用户

发布于 2013-04-18 10:27:26

mremap试图增加就地分配,但如果不能增加当前区域的大小,则返回到分配新区域。

mremap()扩展(或缩小)现有内存映射,可能同时移动它(由标志参数和可用虚拟地址空间控制)。src

  1. 如果mremap失败,旧内存就会正常(就像realloc一样)。
  2. 如果mremap失败,则没有任何东西可用于munmap (至少从这个调用中)。见项目1。
  3. 如果mremap成功并必须移动,旧内存将被复制到新内存中(并为您复制旧内存)。如果mremap能够增加原地的大小,则不会移动内存,也不会创建新的分配。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16080192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档