【发布时间】:2017-07-04 17:03:52
【问题描述】:
mmap() 是否保证返回值与系统上的最大对齐方式对齐?即 POSIX 标准是否保证 mmap 必须返回 alignof(std::max_align_t) 的倍数的指针值?
我无法在 Ubuntu linux mmap(2) 手册页或 mac osx mmap(2) 手册页上找到此信息
【问题讨论】:
-
我不知道它是否有保证,但由于它有硬件功能支持,如果没有,我会感到非常惊讶。
-
this link 可能会有所帮助。 Quoated:相比之下,mmap 返回的地址只保证页面对齐。
-
@felix
munmap()的手册页上写着The addr parameter was not page aligned (i.e., a multiple of the page size).,这意味着我无法释放未在页面边界上对齐的内存,并且由于页面边界大于最大对齐,我在指针未在最大对齐上对齐的情况下将无法调用munmap()