存储映射I/o – mmap
- 概念:存储映射I/O(Memory-mapped I/O)使一个磁盘文件与存储空间中的一个缓冲区相互映射。于是当从缓冲区中数据,就相当于读文件中的相应内容。
- void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset)
- 参数说明:
- addr: 指定映射区的首地址。通常传NULL,表示系统自动分配
- length: 共享内存映射区的大小。<=文件大小。
- pro: 共享内存映射区的读写属性
- flags: 标注共享内存的共享属性。是否是共享的。MAP_SHARED、MAP_REIVATE。
- fd: 用于创建共享内映射区的那个文件的文件描述符
- offset: 偏移位置。必须是4k的整数倍。
- 返回值:成功,返回内存映射区的首地址;失败,MAP_FAILED,-1,errno
- 参数说明: