(1)shmget:
头文件:#include <sys/ipc.h> #include <sys/shm.h>
作用:创建共享内存
原型:int shmget (key_t key,int size, intshmflg);
参数:
key:键值,可以为0 也可以为IPC_PRIVATE 新的共享内存。
size:内存大小;
返回值:成功返回共享内存的标识符;失败返回 -1。
(2)shmat
作用:映射共享内存到各自的进程。
原型:char *shmat(int shmid,char *shmaddr,int flag);
参数:
shmid:shmget函数返回的共享内存标识符。
flag:通常为0;0代表的是共享空间可读写,SHM_RDONLY 共享内存只读;
shmaddr:指定的共享内存到映射的地址,如果是NULL,由内核自动分配。
返回值:成功返回映射的地址,出错返回 -1。
(3)shmdt:
作用:从进程中分离共享内存,
原型:int shmdt(const char *shmaddr);
返回值:成功是0;失败是-1;