shmat函数说明
时间: 2023-08-01 10:11:08 浏览: 98
操作系统课程设计说明指导书基于Linu的进程之间通信样本.doc
shmat()函数用于将共享内存附加到进程的地址空间中。
函数原型为:
```c
void *shmat(int shmid, const void *shmaddr, int shmflg);
```
其中,参数`shmid`是由shmget()函数返回的共享内存标识符,`shmaddr`指定共享内存连接到进程中的地址,通常设为NULL,让系统自动分配一个地址,`shmflg`指定操作方式,可以是SHM_RDONLY(只读)或0(读写),表示对共享内存的访问方式。
函数返回值为指向共享内存第一个字节的指针,如果函数执行失败则返回-1。
使用shmat()函数后,进程就将可以读写共享内存区域的数据。使用完毕后,要使用shmdt()函数将共享内存从进程中分离。
阅读全文