“DevMem note”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“<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...”为内容创建页面)
 
第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 lang>
+
</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
文件映射的偏移量