📄 shm.c
字号:
#include<sys/types.h>#include<sys/msg.h>#include<sys/ipc.h>#define SHMKEY 75 /*定义共享区关键词*/int shmid,i;int *addr; CLIENT(){ int i; do{ shmid=shmget(SHMKEY,100,0777); } while(shmid==-1); printf("client get shmid=%d\n",shmid); addr=shmat(shmid,0,0); /*共享区起始地址为addr*/ for(i=9;i>=0;i--) { while(*addr!= -1); printf("(client)sent\n"); /*打印(client)sent*/ *addr=i; /*把i赋给addr*/ } exit(0);} SERVER(){ shmid=shmget(SHMKEY,100,0777|IPC_CREAT); /*创建共享区*/ printf("server creat shmid=%d\n",shmid); addr=shmat(shmid,0,0); /*共享区起始地址为addr*/ do { *addr=-1; while(*addr==-1); printf("(server)received\n"); /*服务进程使用共享区*/ } while(*addr); shmctl(shmid,IPC_RMID,0); exit(0); } main(){ if(fork())SERVER(); else CLIENT(); wait(0); wait(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -