【发布时间】:2017-09-21 23:02:51
【问题描述】:
Linux manpage 和 POSIX standard 都指定,只要未提供 MAP_FIXED 标志,mmap 就保证不会返回从地址 0 开始的内存。但是,没有记录此类保证在 Mac 的 mmap 联机帮助页中。
我不确定 Mac 对 POSIX 的遵从性有多严格。它的mmap 是否提供此保证?
【问题讨论】:
-
我认为您可以放心地假设 Mac 上的
mmap不会返回以0开头的地址。这样做会破坏很多东西。 -
一切顺利。但是,它可以返回 -1(强制转换为 void 指针)以指示失败。
-
@KevinBallard 我同意,但我想要一个比这更强大的保证 - 理想情况下是某个地方的文档,或者至少是达尔文源代码中的注释或其他内容。
-
@wildplasser “任何事情发生”是否意味着它可以返回 NULL?你的依据是什么?
-
它可以返回NULL。但它不会。
标签: linux macos null posix mmap