client.c

来自「linux下面的文件锁和信号量的程序」· C语言 代码 · 共 36 行

C
36
字号
#include "key.h"int main (int argc,char ** argv){	key_t key;	int shmid;	char * shmptr;	COMM_TABLE * comm_reg;	short count=1;		key=ftok("~/tmp",1);	/* get an existing share memory key */	if((shmid=shmget(key,sizeof(COMM_TABLE),SHM_R))==-1){		printf("shmget error\n");		exit(1);	}		/* attach the share memory to address space of current progress */	if((comm_reg=(COMM_TABLE *)shmat(shmid,0,SHM_R))==\		(COMM_TABLE *)(-1)){		printf("shmat error\n");		exit(2);	}	printf("Share memory id is %d:\n",shmid);	printf("share memory attached from %x to %x\n",\				comm_reg,comm_reg+sizeof(COMM_TABLE));	while(!comm_reg->is_available){		printf("count %d\n",count);		count++;		sleep(1);	}		printf("message is %s \n",comm_reg->message);	exit(0);}/* END OF FILE server.c */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?