首页 > 其他 > 详细

mmap

时间:2016-08-06 22:01:37      阅读:315      评论:0      收藏:0      [点我收藏+]
  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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!