sharmmem.c

来自「linux下的进程通讯机制的代码例子。消息队列以及共享内存。」· C语言 代码 · 共 63 行

C
63
字号
#include<sys/types.h>#include<sys/ipc.h>#include<sys/shm.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#define MYKEY 24int main(int argc,char *argv[]){	int shmid;	int i;	char *shmptr;	char *shmptr1;	pid_t pid;	if(argc<2)	{		printf("please enter more than 1 chanshu\n");		exit(0);	}	if((pid=fork())==-1)		perror("fork error\n");	else if(pid==0)	{		if((shmid=shmget(MYKEY,1024,IPC_CREAT))==-1)		{			perror("creat error\n");			exit(1);		}		if((shmptr=shmat(shmid,0,0))==(void*)-1)		{			perror("mat error\n");			exit(1);		}		for(i=0;i<argc-1;i++)		{			strcpy(shmptr,argv[1]);		}			while(1)		{		}	}	else	{		if((shmid=shmget(MYKEY,1024,IPC_CREAT))==-1)		{			perror("creat error\n");			exit(1);		}		if((shmptr1=shmat(shmid,0,0))==(void*)-1)		{			perror("mat error\n");			exit(1);		}		while(1)		{			printf("%s\n",shmptr1);			sleep(1);		}	}	}

⌨️ 快捷键说明

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