ÓÐÁ½¸ö½ø³Ì, A ºÍ B ÓÃnmapʵÏÖ¹²Ïí, µ«Êǽá¹ûºÍÏëÏóµÄ²»Ò»Ñù
=================================================
A ½ø³Ì´úÂë
int fd;
char *prt;
char *msg="My name is Foo!";
fd=open("sharefile",O_RDWR|O_CREAT,00777);
write(fd,msg,strlen(msg)+1);
prt=(char*) mmap(NULL,strlen(msg)+1,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
close(fd);
memcpy(prt,msg,strlen(msg)+1);
printf("%s\n",prt);
sleep(10); /*µÈ´ýbÈ¥Ð޸Ĺ²ÏíÄÚ´æÄÚÈÝ¡£*/
printf("%s",prt);
munmap(prt,strlen(msg)+1);
=====================================================
// B ½ø³Ì´úÂë
int fd;
char *prt;
char *msg="My name is Bar!";
fd=open("sharefile",O_RDWR,00777);
prt=(char*) mmap(NULL,strlen(msg)+1,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
close(fd);
memcpy(prt,msg,strlen(msg)+1);
munmap(prt,strlen(msg));
=============================================
ÔÚÒ»¸ö¿ØÖÆ̨¿ªÆô½ø³ÌA ÔÚÁíÒ»¸ö¿ØÖÆ̨¿ªÆôB
AÏÔʾ½á¹ûÈçÏÂ, ºÍÏëÏóµÄ²»Ò»Ñù
My name is Foo!
My name is Foo!
½ø³ÌB µÄÔËÐжÔAûÓÐÆð×÷ÓÃ,
Çë·ÖÎöÔÒò,лл!
Îҵİå×ÓÓÃǶÈëʽlinuxϵͳ·¢ËÍ×é²¥°ü¸øÎÒPCÐéÄâ»úµÄlinux£¬ÐéÄâ»úµÄlinux¿ÉÒÔ½ÓÊÕµ½£¬µ«ÊÇͬÑùµÄ³ÌÐò£¬ÓÃÐéÄâ»úµÄlinux·¢ËÍ£¬Ç¶ÈëʽlinuxÈ´½ÓÊÕ²»µ½£¬¾ßÌå±íÏÖΪ×èÈûÔÚrecvfromº¯Êý¡£
´óÖÂÒѾ¿ÉÒÔÅųýµÄÎÊÌ⣺
1 ......