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

mmap

时间:2016-08-06 22:01:50      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:write   空间   

  1. mmap系统调用

 void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset )

mmap负责将文件映射到虚拟地址空间,通过对这段内存的读取和修改而不用read和write对文件进行修改。

技术分享

2.maap函数的参数问题

addr:表示映射区的起始地址,NULL表示映射地址由系统自行安排

len:表示映射到内存的文件长度

prot:映射区的保护方式

PROT_EXEC:映射区可被执行

PROT_READ:映射区可被读

pROT_WRITE:映射曲可被写

flags:映射区的特性

MAP_SHARED:写入映射区的数据可以复制回文件,且允许其他映射该文件的进程共享。

 MAP_PRIVATE:对映射区的写入操作会产生一个映射区的复制(copy-on-write), 对此区域所做的修改不会写回原文件。

fd: 由open返回的文件描述符, 代表要映射的文件。

offset: 以文件开始处的偏移量, 必须是分页大小的整数倍, 通常为0, 表示从文件头开始映射。

编程如下:

技术分享

技术分享


mmap

标签:write   空间   

原文地址:http://10810512.blog.51cto.com/10800512/1835091

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