1.共享内存
a.操作步骤
(1)创建共享内存
(2)映射共享内存
(3)分离共享内存
(4)控制、删除共享内存
b.相关函数
1.shmget
作用:在内核中创建共享内存
原型:int shmget(key_t key, size_t size, int shmflg)
参数:key键值
size创建内存的大小
shmflg类似open权限
返回值:成功:共享内存段标识符
出错:-1
头文件:sys/ipc.h
sys/shm.h
2.shmat
作用:映射共享内存,映射到各自的内存空间
原型:void *shmat(int shmid, const void *shmaddr, int flag)
参数:shmid要映射的内存标识符
shmaddr映射共享内存到本地的指定地址
shmflg SHM_RDONLY表示共享内存只读
为0表示可读写
返回值:成功:被映射段的地址
出错:-1
头文件:sys/ipc.h
sys/shm.h
sys/types.h
3.shmdt
作用:撤销共享内存的映射
原型:int shmdt(const void *shmaddr)
参数:shmaddr 被映射的共享内存地址
size创建内存的大小
shmflg类似open权限
返回值:成功:0
出错:-1
头文件:sys/opc.h
sys/shm.h
sys/types.h