把共享内存区对象映射到调用进程的地址空间
void *shmat(int shmid, const void *shmaddr, int shmflg);
//such as:
char* shm_p = shmat(shmId,NULL,0);
if(shm_p == (void*)-1){
perror("shmat:");
return -1;
}
第一个参数 shmid
shmget函数 的返回值,共享内存标识符
第二个参数 shmaddr
指定共享内存出现在进程内存地址的什么位置
直接指定为NULL让内核自己决定一个合适的地址位置
第三个参数 shmflag
0:读写模式
SHM_RDONLY:为只读模式
返回值
附加好的共享内存地址