📄 ser_c.c
字号:
#include <sem_op.h>main(){ struct exchange{ char buf[BUFSIZ+80]; int seq; }shm; int shmid; unsigned char *retval; int producer,consumer,i; consumer=open_semaphore_set(ftok("consumer",0),1); init_a_semaphore(consumer,0,1); producer=open_semaphore_set(ftok("producer",0),1); init_a_semaphore(producer,0,1); shmid=shmget(ftok("shared",0),sizeof(struct exchange),0666|IPC_CREAT); retval=shmat(shmid,(unsigned char *)0,0); for(i=0;;i++){ printf("enter some text:"); fgets(readbuf,BUFSIZE,stdin); semaphore_P(consumer); shm->seq=i; sprintf(shm->buf,"message %4d from producer%d is\"%s\"\n",i,getpif(),readbuf); semaphore_V(producer); if(strcmp(readbuf,"end",3)==0) break;}exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -