mmap函数创建匿名映射区
mmap一般创建思路
1,打开一个文件,得到该文件的文件描述符
int fd = open(char *path,int mode)
2, 创建该文件的内存映射区
void *mptr = mmap(void *addr,size_t len,int prot,int mode,ssize_t fd,size_t offset);
addr ------- NULL
len ------- 4k的整数倍
prot ------- PROT_READ PROT_WRITE
mode ------- MAP_SHARED MAP_PRIVATE
fd ------- 文件描述符
offset------ 偏移量(距离映射区首地址的字节数)
3,修改内存映射区的内容,用首地址进行操作
4,关闭资源
close(fd) //关闭文件描述符
munmap(void *mptr,size_t len) //关闭内存映射区
mmap匿名映射区
1.直接创建映射区
void *mptr = mmap(NULL,len,PROT_READ | PROT_WRITE,MAP_SHARED | MAP_ANON,-1,offset);
//注意
mode参数必须要有一个参数是 MAP_ANON
文件描述符可以填-1
len 长度需要指定出来,4k的整数倍
2.进行操作
3.关闭资源
munmap(void *ptr,int len);