Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

COW copy on write linux ¿ª²©À²¡£¹þ¹þ


½ñÌì¿´LinuxµÄÄÚÈÝʱÕÒµ½µÄ¡£ µ«ÔËÐÐʱ·¢ÏÖcopyʱµØÖ·ÒѾ­²»ÖµÏòͬһ¿éÄÚ´æÁË¡£ÎªÊ²Ã´ÄØ£¿£¿
STL±ê׼ģ°å¿âÖеÄstringÀ࣬ҲÊÇÒ»¸ö¾ßÓÐдʱ²Å¿½±´¼¼ÊõµÄÀà¡£C++ÔøÔÚÐÔÄÜÎÊÌâÉϱ»¹ã·ºµØÖÊÒɺÍÖ¸Ôð¹ý£¬ÎªÁËÌá¸ßÐÔÄÜ£¬STLÖеÄÐí¶àÀà¶¼²ÉÓÃÁËCopy-On-Write¼¼Êõ¡£Í¨³££¬stringÀàÖбØÓÐÒ»¸ö˽ÓгÉÔ±£¬ÆäÊÇÒ»¸öchar*£¬Óû§¼Ç¼´Ó¶ÑÉÏ·ÖÅäÄÚ´æµÄµØÖ·£¬ÆäÔÚ¹¹Ôìʱ·ÖÅäÄڴ棬ÔÚÎö¹¹Ê±ÊÍ·ÅÄÚ´æ¡£ÒòΪÊÇ´Ó¶ÑÉÏ·ÖÅäÄڴ棬ËùÒÔstringÀàÔÚά»¤Õâ¿éÄÚ´æÉÏÊǸñÍâСÐĵģ¬stringÀàÔÚ·µ»ØÕâ¿éÄÚ´æµØÖ·Ê±£¬Ö»·µ»Øconst char*£¬Ò²¾ÍÊÇÖ»¶ÁµÄ£¬Èç¹ûÄãҪд£¬ÄãÖ»ÄÜͨ¹ýstringÌṩµÄ·½·¨½øÐÐÊý¾ÝµÄ¸Äд¡£
main()
{
string str1 = "hello world";// string str1 ("hello world"); µ÷ÓõÄÊǹ¹Ô캯Êý
    string str2 = str1; // string str2 (str1); µ÷ÓõÄÊÇ¿½±´¹¹Ô캯Êý
//´Ëʱstr1,str2¹²ÏíÄÚ´æ
    printf ("Sharing the memory:\n");
    printf ("\tstr1's address: %x\n", str1.c_str() );
    printf ("\tstr2's address: %x\n", str2.c_str() );
    str1[1]='q';
    str2[1]='w';
/*µ±È»ÊÇÔÚ¹²Ïíͬһ¿éÄÚ´æµÄÀà·¢ÉúÄÚÈݸıäʱ£¬²Å»á·¢ÉúCopy-On-Write¡£±ÈÈçstringÀàµÄ[]¡¢=¡¢+=¡¢+¡¢²Ù×÷·û¸³Öµ£¬»¹ÓÐһЩstringÀàÖÐÖîÈçinsert¡¢replace¡¢appendµÈ³ÉÔ±º¯Êý¡£*/
    printf ("After Copy-On-Write:\n");
    printf ("\tstr1's address: %x\n", str1.c_str() );
    printf ("\tstr2's address: %x\n", str2.c_str() );
    return 0;
}
½á¹û£º
Sharing the memory:
        str1's address: 12ff3c //·Ç343be9£¿£¿£¿
        str2's address: 12ff14 //·Ç343be9
After Copy-On-Write:
        str1's address: 3407a9
        str2's address: 343be9
str1ºÍstr2´æ·ÅÊý¾ÝµÄµØÖ·ÊÇÒ»ÑùµÄ£¬¶øÔÚÐÞ¸ÄÄÚÈݺó£¬str1µÄµØÖ··¢ÉúÁ˱仯£¬¶østr2µÄµØÖ·»¹ÊÇÔ­À´µÄ¡£´ÓÕâ¸öÀý×Ó£¬ÎÒÃÇ¿ÉÒÔ¿´µ½stringÀàµÄCopy-On-Write¼¼Êõ¡£
ÒýÓüÆÊý¾ÍÊÇstringÀàÖÐдʱ²Å¿½±´µÄÔ­Àí£¬RefCnt±íʾʹÓù²ÏíÄÚ´æ¸ö¶ÔÏó¸öÊý¡£µ±¹²ÏíÄÚ´æ±»Ð޸ĵÄʱºò£¬²ÉÓÃÏÂÃ


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

LinuxϵĶδíÎó²úÉúµÄÔ­Òò¼°µ÷ÊÔ·½·¨

LinuxϵĶδíÎó²úÉúµÄÔ­Òò¼°µ÷ÊÔ·½·¨
ĬÈÏ·ÖÀà   2008-08-26 13:37   ÔĶÁ28   ÆÀÂÛ0  
×ֺţº ´ó´ó  ÖÐÖР СС
¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸· ......

linuxÖеĶ¯Ì¬¿âºÍ¾²Ì¬¿â

 1.¸ÅÄîºÍÇø±ð£º
    ¾²Ì¬¿â¾ÍÊÇÔÚ±àÒë¹ý³ÌÖÐһЩĿ±êÎļþµÄ¼¯ºÏ¡£¾²Ì¬¿âÔÚ³ÌÐòÁ´½ÓµÄʱºòʹÓã¬Á´½ÓÆ÷»á½«³ÌÐòÖÐʹÓõ½º¯ÊýµÄ´úÂë´Ó¿âÎļþÖп½±´µ½Ó¦ÓóÌÐòÖС£Ò»µ©Á´½ÓÍê³É£¬ÔÚÖ´ÐгÌÐòµÄʱºò¾Í²»ÐèÒª¾²Ì¬¿âÁË¡£
    ÓÉÓÚÿ¸öʹÓþ²Ì¬¿âµÄÓ¦ÓóÌÐò¶¼ÐèÒª¿½±´ËùÓú¯ÊýµÄ´úÂë£¬Ë ......

linux telnetµÇ½ÂýÎÊÌâ

 ¸ü¸Ä/etc/resolv.confÎļþ
    Èç¹ûÄãµÄlinuxÖ÷»úÖ»ÊÇÔÚ¾ÖÓòÍøÄÚ¹¤×÷£¬Ç뽫nameserverµØÖ·¸ÄÎªÍø¿¨±¾ÉíµÄµØÖ·¡£
    Àý£º
    # vi /etc/resolv.conf
    nameserver 192.168.0.160
    search site
    È»ºó ......

[Ê®ÔÂÍùÎô]——LinuxÄÚºËÖеÄlist.hdz̸

ΪʲôҪ½Ð×ö“Ê®ÔÂÍùÎô”ÄØ£¬ÊÇΪÁ˼ÍÄîÎÒµÄÔ­²©¿Í£¬http://www.casual0402.cn¡£
²»ÖªµÀΪʲô£¬Í»È»ÏëÀ´Ò»¸öеĿªÊ¼——¶øÄǸö²©¿Í´æ»îÖÁ½ñ¸ÕºÃÊ®¸öÔ£¬Ò²ÓÐÊ®¸öÔÂÀïµÄÎĵµ¡£
Ê®ÔÂÍùÎô£¬×ÜÓÐһЩ¾õµÃÕä¹óµÄ£¬ËùÒÔ°áǨµ½ÕâÀïÀ´¡£
¶øÕâÆªÎÄÕÂÊÇÔÚ09.04.10ÀïдµÄ¡£
ÖÕ¹éÊÇÒ»¼Ò̸֮¡£
Jason Lee
& ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ