Linux——内存映射文件mmap

来源:互联网 发布:天猫魔盒 vpn软件 编辑:程序博客网 时间:2024/05/16 06:43

 

最好的参考资料:

1.师从互联网。

2.UNP v2 Posix IPC的相关章节 12。

3.Linux man 命令。

第一条:mmap函数的用途

1.映射普通文件到进程内存空间,进行内存映射IO。

2.映射特殊文件到进程内存空间,进行匿名内存映射IO。

3.映射shm_open打开Posix 共享内存区到进程的内存空间,可以在无亲缘的进程间提供数据共享、IO。

#include<sys/mman.h>

 

void *mmap (void *__addr, size_t __len, int __prot,  int __flags, int __fd, off_t __offset) ;//offset值必须是sysconf(_SC_PAGE_SIZE)的整数倍。一般默认为0;//且len和offset指定的分为一定要在fd引用的文件实际大小范围之内,若不在映射可以,但读写会报错。

int munmap (void *__addr, size_t __len) ;

int mprotect (void *__addr, size_t __len, int __prot);

int msync (void *__addr, size_t __len, int __flags);

没什么好说的看man和UNPv2的12章,很容易明白~~~^_^。