1. 程式人生 > >共享記憶體2.0(shmget,shmat函式)

共享記憶體2.0(shmget,shmat函式)

#include"common.h"

int main()
{
	int id;
	int key=getpid();
	id=shmget(key,100,0666|IPC_CREAT);//建立共享記憶體,注意讀寫許可權
	printf("id = %d\n",id);
	sleep(10);
	char buf[30];
	char *p=shmat(id,NULL,0);//獲取共享記憶體起始地址
	memcpy(buf,p,30);
	printf("buf = %s\n",buf);

}

 

#include"common.h"

int main()
{

		printf("input id..\n");
		int id;
		scanf("%d",&id);
		char buf[]="abcdefghijk";
		char *p=shmat(id,NULL,0);//獲取共享記憶體起始地址
		memcpy(p,buf,sizeof(buf));
		printf("buf = %s\n",p);
}

結果: