码迷,mamicode.com
首页 > 其他好文 > 详细

mmap函数

时间:2017-09-07 13:37:18      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:实现   选项   文件描述符   col   prot   read   add   share   文件   

1、mmap系统调用

通过man手册可以看出:

1 void *mmap(void *addr, size_t length, int prot, int flags,
2                   int fd, off_t offset);

 

功能:负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改来实现对文件的读取和修改,而不需要再调用read和write;

参数:

addr:映射的起始地址,设为NULL由系统指定;
len:映射到内存的文件长度;
prot:期望的内存保护标志,不能与文件的打开模式冲突。PROT_EXEC,PROT_READ,PROT_WRITE等;
flags:指定映射对象的类型,映射选项和映射页是否可以共享。MAP_SHARED,MAP_PRIVATE等;
fd:由open返回的文件描述符,代表要映射的文件;
offset:开始映射的文件的偏移。
返回值:成功执行时,mmap()返回被映射区的指针。失败时,mmap()返回MAP_FAILED。

 

mmap映射图:

 技术分享

 

 

2.解除映射:

1 int munmap(void *addr, size_t length);

 

mmap函数

标签:实现   选项   文件描述符   col   prot   read   add   share   文件   

原文地址:http://www.cnblogs.com/linhaostudy/p/7452172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!