首页 > 代码库 > system v 共享内存区

system v 共享内存区

    #include<sys/shm.h>

    int shmget(key_t key,size_t size,int oflag);    返回:成功则为共享内存区对象,出错为-1

    key 的值可以是ftok的返回值,也可以是IPC_PRIVATE.

    ftok()               是非亲缘进程间

    IPC_PRIVATE         是亲缘进程间的

    size以字节为单位指定内存区的大小。当实际操作为创建一个新的共享内存区时,必须指定一个不为0的size值。如果实际操作为访问一个已存在的共享内存区,那么size应为0.

    oflag是读写权限值的集合,还可以是IPC_CREAT或IPC_CREAT|IPC_EXCL

    void *shmat(int shmid, const void*shmaddr, int flag); 返回:成功为映射区的起始地址,出错为-1

    

system v 共享内存区