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

内存映射

时间:2015-04-14 00:29:22      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

内存映射:
1. 打开被映射文件;
2. 调用mmap;
 
作用: 将一个给定文件映射到一个存储区域中。
 
#include <sys/mman.h>
 
void * mmap(void* addr, size_t len, int prot, int flag, int fields, off_t off);
 
返回值:若成功则返回映射区的起始地址,若出错则返回MAP_FAILED
 
addr: 用于指定映射存储区的起始地址。通常将其设置为0, 这表示由系统选择该映射区的起始地址。
len: 映射的字节数;
prot: 该参数说明对映射区的保护,
     可将prot指定为PROT_NONE,或者是PROT_READ、PROT_WRITE、PROT_EXEC任意组合的按位或。
     对指定映射存储区的保护 要求不能超过文件open模式访问权限。例如,若该文件是只读打开的,那么对映射存储区就不能指定PROT_WRITE。
flag: 影响映射存储区的多种属性
     MAP_SHARED:指明对映射区数据的修改,多个共享该映射区的进程都可以看见,而且会反映到实际的文件
     MAP_PRIVATE:指明对映射区数据的修改不会影响 真正的文件
fields: 被映射文件描述符
off: 被映射字节在文件中的起始偏移量。
 
技术分享

内存映射

标签:

原文地址:http://www.cnblogs.com/black-mamba/p/4423466.html

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