system v 共享内存区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 共享内存区的主要内容,如果未能解决你的问题,请参考以下文章

进程间通信--system V共享内存

进程间通信--system V共享内存

Linux--System V共享内存

Linux--System V共享内存

System v shm的key

System V IPC 之共享内存