MMAP2 - Linux手册页
时间:2019-08-20 17:59:00 来源:igfitidea点击:
Linux程序员手册 第2部分
更新日期: 2017-09-15
名称
mmap2-将文件或设备映射到内存
语法
#include <sys/mman.h> void *mmap2(void *addr, size_t length, int prot, int flags, int fd, off_t pgoffset);
说明
这可能不是您感兴趣的系统调用。相反,请参见mmap(2),该文件描述了调用此系统调用的glibc包装函数。
mmap2()系统调用提供了与mmap(2)相同的接口,除了最后一个参数以4096字节为单位指定文件的偏移量(而不是象mmap(2)那样以字节为单位)。这使使用32位off_t的应用程序可以映射大文件(最大2 ^ 44字节)。
返回值
成功时,mmap2()返回一个指向映射区域的指针。错误时,返回-1并正确设置errno。
错误说明
- EFAULT
- 从用户空间获取数据的问题。
- EINVAL
- (页面大小不是4096字节的各种平台。)offset * 4096不是系统页面大小的倍数。
mmap2()也可以返回mmap(2)中描述的任何错误。
版本
从Linux 2.3.31开始,mmap2()可用。
遵循规范
此系统调用是特定于Linux的。
备注
在存在该系统调用的体系结构上,glibc mmap()包装函数将调用此系统调用,而不是mmap(2)系统调用。
此系统调用在x86-64上不存在。
在ia64上,偏移量的单位实际上是系统页面大小,而不是4096字节。
另外参见
getpagesize(2),mmap(2),mremap(2),msync(2),shm_open(3)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。