ÓÐÁ½¸ö½ø³Ì, 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ûÓÐÆð×÷ÓÃ,
Çë·ÖÎöÔÒò,лл!
ÇëÎÒÓÃFCKÉÏ´«Îļþ,ÔÚ±¾µØµÄwindows»úÉϲâÊÔ¿ÉÒÔ£¬µ«²¿Êðµ½linux·þÎñÆ÷ÉϾÍÉÏ´«²»ÁËÎļþ£¬ÉÏ´«Îļþʱһֱ¿¨ÔÚÄÇÀï¡£Íû¸÷λ´óϺָµã£¬Ð»Ð»£¡
·¹ý£¬°ïÄ㶥һϡ£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£
ÉÏ´«ÎļþµÄ·¾¶ÎÊÌ⣬ ......
ÔÚLinuxÉÏÖ´ÐÐrenameº¯Êýʧ°Ü£¬·µ»ØµÄ´íÎóÂëerrnoÊÇ2£¬ÕâÊÇÓÉÓÚʲôÔÒòµ¼ÖµĴíÎó°¡£¬ÊÇÔÚRedHatµÄ»úÆ÷ÉÏ
ÓÃperrorÊÔÊÔ¡¢¡¢¿´¿´Êä³öµÄ´íÎó×Ö·û´®ÊÇʲô¾ÍÇå³þÁË¡¢¡¢
ÒòΪÊDz¿Êðµ½ÏÖÍøµÄ³ÌÐò²»ÄÜËæ±ã¸Ä´úÂë£¬Ò ......
ÎÒѧϰLinuxÓÐÒ»¶Îʱ¼äÁË£¬Ñ§Ï°¹ýshell½Å±¾±àд£¬¿´¹ý¡¶Unix¸ß¼¶»·¾³±à³Ì¡·£¬µ«ÊÇ×ܾõµÃ¿´µÄºÍдµÄ³ÌÐòºÜÉÙ£¬¾õµÃ¿´ÁËÖ®ºóûÓÐʲô×÷Óã¬Ö»ÊǼÇסÁËЩº¯Êý¶øÒÑ£¬Ã»ÓÐʵս¡£¶øÇҸоõÏÖÔÚѧϰLinuxºÜûÓз½Ïò£¬²»Ö ......