mmap(存储映射)
1、头文件:#include <sys/mman.h>
2、函数原型:void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
3、函数形参:addr:指定文件应被映射到的进程空间的起始地址;
length:共享内存映射的有效文件大小(字节数),须<=文件的实际大小;
prot:指定共享内存的访问权限(读写属性),不能与文件的打开模式冲突;
flags:指定映射对象的共享属性,映射选项和映射页是否可以共享;
fd:用于创建共享内存映射区的文件描述符,一般由open()返回;
offset:偏移量,表示被映射对象内容的起点,一般设为0,表从头开始。
注:(1)addr一般被指定一个空指针(NULL),表示让系统自动分配。
(2)如果MAP_ANONYMOUS被设定,fd值应为-1,表示进行匿名映射。
(3)prot可选值域:PROT_READ(可读);PROT_WRITE(可写);
PROT_EXEC(可执行);PROT_NONE(不可访问,此值不常用)。
(4)flags两个值:MAP_SHARED&
mmap(存储映射)
最新推荐文章于 2024-06-03 10:50:58 发布