Linux 共享内存(mmap)
mmap 函数是 Linux系统中的一个系统调用,用于将一个文件或设备映射到进程的虚拟地址空间,从而使得进程可以通过访问内存来读写文件或设备数据,这种技术称为内存映射(memory mapping)。
mmap 函数原型
mmap 函数的原型如下:
void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
各参数的含义如下:
- addr:指定映射区域的首地址,通常设置为 0 表示由系统自动选择。
- length:指定映射区域的长度。
- prot:指定映射区域的保护方式,可以是以下值的按位或:
PROT_READ
:允许读取映射区域。PROT_WRITE
:允许写入映射区域。PROT_EXEC