“DevMem note”的版本间的差异
来自个人维基
free6d1823(讨论 | 贡献) (以“<source lang="c"> #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *addr, size_t length); </s...”为内容创建页面) |
free6d1823(讨论 | 贡献) |
||
第4行: | 第4行: | ||
void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); | void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); | ||
int munmap(void *addr, size_t length); | int munmap(void *addr, size_t length); | ||
− | </source | + | </source> |
+ | |||
+ | 详细参数如下: | ||
+ | {| class="wikitable" style="width:25%" | ||
+ | ! 参数 !! 详细说明 | ||
+ | |- | ||
+ | || addr || 需要映射的虚拟内存地址;如果为NULL,系统会自动选定。映射成功后返回该地址 | ||
+ | |- | ||
+ | || length || 需要映射多大的数据量 | ||
+ | |- | ||
+ | || prot||描述映射区域内存保护方式,包括:PROT_EXEC、PROT_READ、PROT_WRITE、PROT_NONE. | ||
+ | |- | ||
+ | ||flags||描述映射区域的特性,比如是否对其他进程共享,是否建立匿名映射,是否创建私有的cow. | ||
+ | |- | ||
+ | ||fd||要映射到内存中的文件描述符 | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | fd | ||
+ | |||
+ | offset | ||
+ | 文件映射的偏移量 |
2019年11月5日 (二) 14:59的版本
#include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *addr, size_t length);
详细参数如下:
参数 | 详细说明 |
---|---|
addr | 需要映射的虚拟内存地址;如果为NULL,系统会自动选定。映射成功后返回该地址 |
length | 需要映射多大的数据量 |
prot | 描述映射区域内存保护方式,包括:PROT_EXEC、PROT_READ、PROT_WRITE、PROT_NONE. |
flags | 描述映射区域的特性,比如是否对其他进程共享,是否建立匿名映射,是否创建私有的cow. |
fd | 要映射到内存中的文件描述符 |
fd
offset
文件映射的偏移量