ÓÐÁ½¸ö½ø³Ì, 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ûÓÐÆð×÷ÓÃ,
Çë·ÖÎöÔÒò,лл!
ÈçÌ⣬ÔÚWINDOWSµ×ϵÄCODE»á£¬µ«ÔÚLINUXϲ»ÖªµÀÈçºÎʵÏÖ£¬JSµÄ´úÂëÓ¦¸ÃÊDz»Ò»ÑùµÄ¡£ Çó½Ì¡£
·Ö²»¹»ÔÙ¼Ó¡£
http://topic.csdn.net/u/20100113/08/17ba1e71-4c33-43f6-91a5-0e031c86e5ed.html
linux ......