Znn3bq.jpeg
²é¿´: 1051  |  »Ø¸´: 5
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

yalefield

½ð³æ (ÎÄ̳¾«Ó¢)

ÀϺºÒ»Ã¶

[½»Á÷] ¡¾×ªÌû¡¿Ö¸ÕëÊÇͨÍùµØÓüµÄ½Ý¾¶ ÒÑÓÐ5È˲ÎÓë

×÷Õߣºfera
http://blog.chinaunix.net/space. ... log&cuid=376700

Ö¸ÕëÖ¸ÏòÄÄÀ¡­¡­ºÁÎÞÒÉÎÊ£¬µØÓü¡£

°ëÄêǰµÄij¸öÐÇÆÚ£¬ÎªÁËÐÞ¸ÄÒ»¸öbug£¬ÎÒ»¨ÁËÕûÕûÁ½Ììʱ¼ä¡£

ÕâÊÇÒ»¸öÖ¸ÕëµÄ´íÎó£¬ÔÚ´«µÝ²ÎÊýµÄʱºò£¬Ó¦¸Ã´«µÝÒ»¸öÖ¸Õë¶ø´«µÝµÄÊÇÒ»¸ö¶ÔÏó¡£ÒòΪ³ÌÐòÁ÷³ÌÒ»°ãÖ´Ðв»µ½ÕâÀÕâ¸öbugÒ»Ö±Òþ²ØÔÚˮϡ£Ö±µ½ÎÒÓÐÒ»Ì죬²»Ð¡ÐÄÈóÌÐòÖ´ÐÐÁËÕâ¶Î£¬½á¹û³ÌÐò±ÀÀ£ÁË£¨µ±Ê±ÎÒÓÃrootÓû§Ö´Ðеģ¬ÕæÐÒÔËûÓÐËð»µÏµÍ³£©¡£ÓдíÎóµÄÕâ¶Î´úÂëÊÇһλÓÐ8Äê±à³Ì¾­ÑéµÄͬÊÂдµÄ£¬Ö¸ÕëµÄ¡°Ð°¶ñ¡±£¬¿É¼ûÒ»°ß¡£

Ö¸Õë¾ÍºÃÏóÒ»¸ùÉþ×Ó£¬Éþ×ÓÄDZßÊÇʲô±»µ²×¡ÁË£¬ÎÒÃÇ¿´²»¼û¡£ÄãÓÀÔ¶²»ÖªµÀÄDZßÊÇһͷţ£¬»¹ÊÇÒ»¿ÅÊÖÁñµ¯¡£

Ö¸ÕëÊÇʲô£¿Äã¿ÉÒÔ°ÑËüÀí½â³ÉË©×Ŷ«Î÷µÄÉþ×Ó£¬Ò²¿ÉÒÔ˵ÊÇij¸öÎïÌåµÄ±ú£¨handle£©£¬Ëæ±ãʲô£¬Ö»ÒªÓÐÖúÓÚÄãµÄÀí½â¡£ÄãµÄÀí½âÊǶԵģ¬¿ÉϧֻÊÇÒ»²¿·Ö¡£

Ëüʵ¼ÊÉÏÊÇÒ»¸öÎÞ·ûºÅÊý£¬Ò»¸öÄÚ´æµ¥ÔªµÄ±àºÅ£»Ò»°ãÊÇunsigned long£¬ÔÚ32bit CPUÉÏ£¬ËüÊÇ32λµÄ£¬64λcpuÉÏÊÇ64λµÄ¡£ÔÚ»ã±àÓïÑÔÀïÃæ£¬direct addressing¡¢direct addressing²ÉÓõͼÊÇÕâ¸ö¶«Î÷£¬Ö»²»¹ýÔÚC/C++Öб»·â×°³ÉÁËÖ¸Õë¡£

ÏÖÔÚÎÒÃÇÖªµÀÁËÖ¸ÕëµÄ±¾ÖÊ£¬ÄÇô£¬¿ÉÒÔͨ¹ý³ÉÔ±À´»ñµÃ¶ÔÏóµÄÊ×µØÖ·£º
#define ContainerOf(pointerToField, fieldName, ClassType) \
(ClassType *)((ulong)(pointerToField) - (ulong)((ClassType *)0->fieldName))

Ò²¿ÉÒÔд³öÒÔÏÂÓï¾ä£¨ÎªÁËÒþ²ØÄ³Ð©ÐÅÏ¢£¬ÕâÑùÓû§Ö»ÖªµÀ·µ»ØµÄÊÇÒ»¸ö¾ä±úhandle£©£º
typedef unsigned long ulong;
typedef ulong SOME_HANDLE;

SOME_HANDLE GetObjs()
{
    A* p = new A[10]();
    return (SOME_HANDLE)p;
}

àÅ£¬¿´ÆðÀ´²»´í£¬Ö¸ÕëµÄ¹¦ÄܺÜÇ¿´ó¡£´úÂëºÜÓÅÑÅ£¬¡­¡­¿´Ëƺܺá­¡­

ÎÊÌâÊÇ£¬¶ÔµÚ¶þ¶Î´úÂ룬µ÷Óá°h = GetObjs();¡±µÄÓû§Ö´ÐÐÁËÕâÑùµÄ²Ù×÷£º++h;ËûµÄ±¾ÒâÊǽ«Ö¸ÕëÒÆ¶¯µ½ÏÂÒ»¸öÔªËØ£¬¿ÉËûµÃµ½µÄÊÇʲô£¿¼ÙÉèGetObjs·µ»ØµÄÊÇ 0x00000001£¬ ++h½á¹û½«ÊÇ0x00000002£¬¶ø²»ÊÇÆÚ´ýÖеÄ0x00000001 + sizeof(A)¡£Óû§°ÑËüµ±³ÉÁËÏÂÒ»¸öAÀà¶ÔÏ󣬽øÐÐÁËһЩ²Ù×÷£¬ÓÚÊÇ£¬±¯¾ç·¢ÉúÁË¡­¡­Óû§ÔÚÄÚ´æÖеÄÊý¾ÝÈ«²¿´íÂÒÁË£¬ÄãµÄϵͳ±ÀÀ£ÁË¡£

Êǵģ¬Ö¸ÕëÖ¸ÏòµÄÖ»ÊÇÒ»¿éÄڴ棬µ«ÊÇ£¬Õâ¿éÄÚ´æºÏ·¨Â𣿴óСÊǶàÉÙ£¿ÊôÓÚÄÄÖÖÀàÐÍ£¿¶¼ÊÇδ֪µÄ¡£Äã»á˵£¬Èç¹û²»ÖªµÀÕâ¿éÄÚ´æÊôÓÚÄĸöÀàÐÍ£¬Ö¸ÕëËãÊõ¾Í²»»áÕýÈ·¡£Äã´íÁË¡£Ö¸ÕëµÄËãÊõÔÚ±àÒëʱ¾ÍÖªµÀÁ˸ÃÔõô´¦Àí£¬ÔËÐÐʱÊÇûÓÐÀàÐÍÐÅÏ¢µÄ¡£¾ÍÊǽ«Ö¸ÕëÒÆ¶¯n * sizeof(A)£¬¶øsizeof(A)±àÒëʱ¾ÍÈ·¶¨ÁË¡£

ÔÙ¿¼ÂÇÕâ¶Î´úÂ룬°ÑÒ»×é¶ÔÏó´ÓÒ»¸öÊý×鿽±´µ½ÁíÒ»¸ö£º
A ObjCopy(A * const dest, const A * const src, const int nItems)
{
    assert(dest);
    assert(src);
    assert(nItems >= 0);

    while ( nItem-- )
        *dest++ = *src++;
    return dest;
}

ºöÂÔsrcÀïÔªËØ²»×ãnItems¸ö¼°destûÓÐnItems¸ö¿Õ¼äµÄÒòËØ£¬Õâ¸öº¯ÊýÒÀÈ»ÊÇ´íÎóµÄ¡£ÒòΪ£¬Èç¹ûdest - src < nItemsµÄ»°£¬´ÓµÚ(dest - src)¿ªÊ¼£¬srcÖеÄÊý¾Ý½«±»×Ô¼ºÊײ¿µÄÊý¾Ý¸ø¸²¸ÇÁË¡£ºÜ²»ÐÒ£¬ÄãµÄÊý¾ÝÓÖ´íÁË£¬ÏµÍ³¿ÉÄÜÓÖÒª±ÀÀ£ÁË¡­¡­ÖÁÉÙ£¬Äã»áµÃµ½´íÎóµÄ½á¹û¡£

ºÃÁË£¬Õâ½ö½öÊÇÒ»¼¶Ö¸Õë¡£»»³É¶þ¼¶Ö¸ÕëÄØ£¿

ÕýÒòΪָÕëÊdzÌÐòµÄ´íÎóÖ®Ô´£¬java°Ñ¶ÔÄÚ´æµÄ²Ù×÷·â×°ÆðÀ´£¬²»¶ÔÍâÌṩָÕ룬ÕâÑù¾Í±ÜÃâÁ˸ղŵÄÄÇЩÎÊÌâ¡£C/C++µÄÖÒʵ·ÛË¿²»ÒªÎóÒÔΪÎÒÔڹĴµjava£¬ÎÒ±¾È˶ÔÓÚC/C++ÊÇÌØ±ðÖÓ°®µÄ£¬ÒòΪËüÃǵÄÁé»îÐÔ¡£ÏàÐÅ´ó¶àÊý³ÌÐòԱϲ»¶ËüÃÇÒ²ÊÇÒòΪÕâ¸ö¡£

дÕâÆªÎÄÕµÄÄ¿µÄ¾ÍÊÇΪÁ˶ÔÖ¸ÕëµÄ¸´ÔÓÐÔ×öÒ»¸ö˵Ã÷£¬Ï£Íû´ó¼ÒÔÚʹÓÃÖ¸ÕëµÄʱºòÄܹ»Ð¡ÐÄ¡£

Å×שÒýÓñ£¬Èç¹ûÓиü¾«±ÙµÄÏë·¨£¬Ï£ÍûÄúÄÜÉ͹âÌùÔÚºóÃæ£¡

PS£º

¿´ÁËbuxomanÆÀÂÛ£¬¾õµÃÓбØÒª³ÎÇåÒ»µã£º¶ÔÓÚÒ»¸öÖ¸Õ룬´æÔÚÁ½¸ö¶ÔÏó£¬Ò»¸öÊÇÖ¸Õë±¾Éí£¬Ò»¸öÊÇdereferenceµÄ¶ÔÏó¡£Òò´ËÔÚ¶ÁÎÒÕâÆªÎÄÕÂʱһ¶¨Òª¸ãÇå³þ£¬Ê²Ã´Ê±ºò˵µÄÊÇÖ¸Õ룬ʲôʱºò˵µÄÊÇdereferenceµÄ¶ÔÏó¡£

Copyleft (C) 2007-2009 raof01.
±¾ÎÄ¿ÉÒÔÓÃÓÚ³ýÉÌÒµÍâµÄËùÓÐÓÃ;¡£´Ë´¦¡°ÓÃ;¡±°üÀ¨£¨µ«²»ÏÞÓÚ£©¿½±´/·­Ò루²¿·Ö»òÈ«²¿£©£¬²»°üÀ¨¸ù¾Ý±¾ÎÄÃèÊöÀ´²úÉú´úÂ뼰˼Ïë¡£ÈôÓÃÓÚ·ÇÉÌÒµ£¬Çë±£Áô´ËȨÀûÉùÃ÷£¬²¢±êÃ÷ÎÄÕÂԭʼµØÖ·ºÍ×÷ÕßÐÅÏ¢£»ÈôÒªÓÃÓÚÉÌÒµ£¬ÇëÓë×÷ÕßÁªÏµ£¨raof01@gmail.com£©£¬·ñÔò×÷Õß½«Ê¹Ó÷¨ÂÉÀ´±£Ö¤È¨Àû¡£
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

womeikongya

½ð³æ (³õÈëÎÄ̳)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ÊDz»ÊǵØÓüµÃ¿´ÓõÄÈË£¡
ÕýÈËÐÐа·¨£¬Ð°·¨ÒàÕý£¡£¡
ÿÌìÔçÉϽÐÐÑÄãµÄ²»ÊÇÄÖÖÓ£¬¶øÊÇÃÎÏ룡
5Â¥2011-03-27 18:08:19
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 6 ¸ö»Ø´ð

΢³¾¡¢ÃÎÏë

ľ³æ (ÖªÃû×÷¼Ò)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ÔÚ¹úÍâµÄÒ»±¾½Ì²ÄÉÏ¿´µ½Ëµ£¬Ö¸ÕëÊÇCÓïÑԵľ«Ë裬ҲÊÇ×îÄѵÄÒ»µã£¬×ÔÎҸоõÓÃÆðÀ´Í¦·½±ã£¬µ«×ܸøÈËÒ»ÖÖ²»Ì¤ÊµµÄ¸Ð¾õ£¬¶ÔÓÚÏñÎÒÕâÖÖ³õѧÕߣ¬Ê¹ÓÃÖ¸ÕëҪǧÍòСÐİ¡£¡
ÈηçÔÆ±ä»Ã£¬ÎÒЦ¶ÔÈËÉú£¡
2Â¥2011-03-23 16:31:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

claudebell

Òø³æ (СÓÐÃûÆø)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Ö¸ÕëÊÇC/C++¾«ËèµÄÒ»²¿·Ö£¬Óõĺã¬ÎÞËù²»ÄÜ£¬ÓõIJ»ºÃ£¬ÄÜÒ²²»ÄÜ¡£
²»¹ýÕýÊÇÒòΪÕâÒ»µã£¬C/C++±ÈÆäËûºÜ¶à¸ß¼¶ÓïÑÔҪǿ´ó¡£
ÒªÕâÑùÏ룬ԽÊÇÄÑÓõĶ«Î÷£¬Ò»µ©ÓúÃÁ˾ÍÍþÁ¦Îޱߡ£
3Â¥2011-03-23 19:13:55
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

magic7004

½ð³æ (Ö°Òµ×÷¼Ò)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
¶ÔÓÚÖ¸Õ룬magic7004Ö»ÄÜ˵ÊÇ·çÏÕÔ½´ó£¬ÊÕÒæÔ½´ó¡£
Á÷Ã¥²»¿ÉÅ£¬¿ÉŵÄÊÇÁ÷Ã¥ÓÐÎÄ»¯£¬ÓÐÎÄ»¯ÓÖBHµÄÁ÷Ã¥ÎÞµÐ~~£¡
4Â¥2011-03-24 10:12:03
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 070300»¯Ñ§279Çóµ÷¼Á +13 ¹þ¹þ¹þ^_^ 2026-04-08 13/650 2026-04-08 22:29 by belle15
[¿¼ÑÐ] 325·Ö»¯Ñ§µ÷¼Á +9 15771691647 2026-04-02 9/450 2026-04-08 19:21 by ruoyu867
[¿¼ÑÐ] ÉúÎïÓëÒ½Ò©273Çóµ÷¼Á +17 ÀóÌâÄÏǽ 2026-04-05 18/900 2026-04-08 19:12 by ÎÒ¼õ·Ê1
[¿¼ÑÐ] Çóµ÷¼Á +28 111623 2026-04-04 33/1650 2026-04-08 09:24 by ÔóÈó¶«·½
[¿¼ÑÐ] 326Çóµ÷¼Á +5 9ahye 2026-04-02 6/300 2026-04-07 21:37 by lijunpoly
[¿¼ÑÐ] 22408 µ÷¼Á²ÄÁÏ +7 ÎÒ½Ðez 2026-04-06 8/400 2026-04-07 17:12 by À¶ÔÆË¼Óê
[¿¼ÑÐ] ÉúÎïµ÷¼Á +5 ³È×Ó³È×Ó³È×Ó°¡ 2026-04-05 9/450 2026-04-07 15:31 by Éϰ¶¿ì¿ì
[¿¼ÑÐ] 293Çóµ÷¼Á +3 ÓÂÔ¶¿â°®314 2026-04-06 3/150 2026-04-07 11:15 by hugr
[¿¼ÑÐ] ¿¼Ñе÷¼Á +7 15615482637 2026-04-04 7/350 2026-04-06 22:56 by chenzhimin
[˶²©¼ÒÔ°] 0856²ÄÁÏ»¯¹¤Çóµ÷¼Á£¬Ò»Ö¾Ô¸211£¬³õÊԳɼ¨349 +4 ½­»´±±Ô 2026-04-05 4/200 2026-04-06 22:44 by chenzhimin
[¿¼ÑÐ] Ò»Ö¾Ô¸ ½­ÄÏ´óѧ 085602 »¯¹¤×¨Ë¶ 338·ÖÇóµ÷¼Á +15 ·³ÕСç÷ 2026-04-05 15/750 2026-04-06 09:27 by cql1109
[¿¼ÑÐ] 085600µ÷¼Á +9 ¶«ÕÕÕÕÕÕ 2026-04-04 9/450 2026-04-05 13:44 by ujn_zhuj
[¿¼ÑÐ] ¹¤¿Æ08ר˶»úе275Çóµ÷¼Á +3 AaAa7420 2026-04-02 3/150 2026-04-05 13:26 by jp9609
[¿¼ÑÐ] 368Çóµ÷¼Á +5 ½ñ»ªÏ° 2026-04-03 7/350 2026-04-04 18:47 by imissbao
[¿¼ÑÐ] 266Çóµ÷¼Á +8 ѧԱ97LZgn 2026-04-03 8/400 2026-04-04 09:02 by 20021109
[¿¼ÑÐ] Çóµ÷¼Á +8 akdhjs 2026-04-03 8/400 2026-04-03 18:17 by ´÷άING
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖÐũҵ071010£¬×Ü·Ö320Çóµ÷¼Á +7 À§À§À§À§À¤À¤ 2026-04-02 7/350 2026-04-03 17:26 by Yuena_Wang
[¿¼ÑÐ] 320Çóµ÷¼Á +3 ũҵ¹¤³ÌÓëÐÅÏ¢¼ 2026-04-03 3/150 2026-04-03 11:40 by ÍÁľ˶ʿÕÐÉú
[¿¼ÑÐ] 302Çóµ÷¼Á +9 zyxÉϰ¶£¡ 2026-04-02 9/450 2026-04-02 23:07 by Âí¶ù¿ì¿ìµØÅÜ
[¿¼ÑÐ] 085600£¬320·ÖÇóµ÷¼Á +6 ´ó²öС×Ó 2026-04-02 6/300 2026-04-02 21:54 by dongzh2009
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û