sizeofÃæÊÔÌâÑ¡ Linux C±à³Ìʵս
½á¹¹ÌåºÍ¹²ÓÃÌåµÄÄÚ´æ·ÖÅäÊÇCÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇÃæÊÔÌâÖеÄÈȵ㡣
ʾÀý1£º
Union data1
{
double d;
int i;
char c1;
char c2[9];
};
sizeof(union data1)µÄֵΪ16.ÔÚ±àÒëÆ÷ĬÈÏÉèÖõÄÇé¿öÏ£¬¸Ã¹²ÓÃÌå×î´ó»ù±¾ÀàÐÍΪdouble,ËüÕ¼8×Ö½Ú£¬ËùÒԴ˹²ÓÃÌåÒÔ8À´¶ÔÆë¡£×Ö·ûÊý×éc2Õ¼9¸ö×Ö½Ú£¬ÄÇôÕû¸ö¹²ÓÃÌåÓ¦¸ÃÕ¼9¸ö×Ö½Ú£¬µ«°´ÕÕ¶ÔÆëÔÔò£¬Êµ¼Ê·ÖÅ䏸ËüµÄÄÚ´æÎª16×Ö½Ú¡£
Èç¹ûÊÇ£º
struct data1
{
double d;
int i;
char c1;
char c2[9];
};
sizeof(struct data1)µÄֵΪ24£¬Ê×ÏȰ´ÕÕ´æ´¢´óС£¬¸Ã½á¹¹ÌåËùÕ¼´æ´¢¿Õ¼äΪ£º8+4+1+9=22×Ö½Ú£¬Õâ¸ö½á¹¹ÌåÒ²ÊÇÒÔ8¶ÔÆë£¬Òò´Ëʵ¼Ê·ÖÅäµÄÊÇ24×Ö½Ú¡£
ʾÀý2£º
Union data2
{
int i;
char c1;
char c2[9];
};
sizeof(union data2)µÄֵΪ12£¬¸Ã¹²ÓÃÌåÕ¼ÄÚ´æ¿Õ¼ä×î´óµÄ»ù±¾Êý¾ÝÀàÐÍΪint,Æä³¤¶ÈΪ4£¬ËùÒԸù²ÓÃÌåÒÔ4À´¶ÔÆë¡£¸Ã¹²ÓÃÌåµÄ³¤¶ÈÈ¡¾öÓÚ×Ö·ûc2£¬Æä³¤¶ÈΪ9£¬9²»ÊÇ4µÄ±¶Êý£¬Òª½øÐÐ¶ÔÆë£¬Òò´Ëʵ¼Ê·ÖÅäµÄ´æ´¢¿Õ¼äΪ12.
struct data2
{
int i;
char c1;
char c2[9];
};
sizeof(struct data2)µÄֵΪ16£¬ÓëÉÏÃæ¹²ÓÃÌåÒ»Ñù£¬¸Ã½á¹¹ÌåÒÔ4¶ÔÆë¡£°´ÕÕ´æ´¢´óС£¬¸Ã½á¹¹ÌåËùÕ¼´æ´¢¿Õ¼äΪ£º4+1+9=14£¬14²»ÊÇ4µÄ±¶Êý£¬½øÐÐ¶ÔÆë£¬¶ÔÆëºóµÄֵΪ16.
ʾÀý3£º
Union data3
{
char c1;
char c2[3];
};
sizeof(union data3)µÄֵΪ3£¬¸Ã¹
Ïà¹ØÎĵµ£º
Äں˱àÒëÍê³Éºó»áÉú³ÉzImageÄں˾µÏñÎļþ¡£¹ØÓÚbootloader¼ÓÔØzImageµ½Äںˣ¬²¢ÇÒÌø×ªµ½zImage¿ªÊ¼µØÖ·ÔËÐÐzImageµÄ¹ý³Ì£¬ÏàÐÅ´ó¼Ò¶¼ºÜÈÝÒ×Àí½â¡£µ«¶ÔÓÚzImageÊÇÈçºÎ½âѹµÄ¹ý³Ì£¬¾Í²»ÊÇÄÇôºÃÀí½âÁË¡£±¾ÎĽ«½áºÏ²¿·Ö¹Ø¼ü´úÂ룬½²½âzImageµÄ½âѹ¹ý³Ì¡£
¡¡¡¡ÏÈ¿´¿´zImageµÄ×é³É°É¡£ÔÚÄں˱àÒëÍê³Éºó»áÔÚarch/arm/boot/ÏÂÉú ......
linuxÉϽø³ÌÓÐ5ÖÖ״̬:
1. ÔËÐÐ(ÕýÔÚÔËÐлòÔÚÔËÐжÓÁÐÖеȴý)
2. ÖжÏ(ÐÝÃßÖÐ, ÊÜ×è, Ôڵȴýij¸öÌõ¼þµÄÐγɻò½ÓÊܵ½ÐźÅ)
3. ²»¿ÉÖжÏ(ÊÕµ½ÐźŲ»»½ÐѺͲ»¿ÉÔËÐÐ, ½ø³Ì±ØÐëµÈ´ýÖ±µ½ÓÐÖжϷ¢Éú)
4. ½©ËÀ(½ø³ÌÒÑÖÕÖ¹, µ«½ø³ÌÃèÊö·û´æÔÚ, Ö±µ½¸¸½ø³Ìµ÷ÓÃwait4()ϵͳµ÷ÓúóÊÍ·Å)
5. Í£Ö¹(½ø³ÌÊÕµ½SIGSTOP, SIGSTP, ......
Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
&n ......
µ±½ñÊÀ½ç¿ÆÑ§¼¼Êõ·ÉËÙ·¢Õ¹£¬ÓÈÆäÒÔͨÐÅ¡¢¼ÆËã»ú¡¢ÍøÂçΪ´ú±íµÄ»¥ÁªÍø¼¼Êõ¸üÊÇÈÕÐÂÔÂÒ죬ÁîÈËÑÛ»¨ÁÇÂÒ£¬Ä¿²»睱½Ó¡£ÓÉÓÚ¼ÆËã»ú»¥ÁªÍøÔÚÕþÖΡ¢¾¼Ã¡¢Éú»îµÈ¸÷¸öÁìÓòµÄ·¢Õ¹¡¢ÔËÓÃÒÔ¼°ÍøÂçµÄѸËÙÆÕ¼°ºÍÈ«Éç»á¶ÔÍøÂçµÄÒÀÀµ³Ì¶È£¬¼ÆËã»úÍøÂçÒѾ³ÉΪ¹ú¼ÒµÄ¾¼Ã»ù´¡ºÍÃüÂö£¬³ÉΪÉç»áºÍ¾¼Ã·¢Õ¹Ç¿´ó¶¯Á¦£¬ÆäµØÎ»Ô½À´Ô½ÖØÒª¡£µ« ......
¹Ø¼ü×Ö£ºUTC£¨ÊÀ½ç±ê׼ʱ¼ä£©£¬Calendar Time£¨ÈÕÀúʱ¼ä£©£¬epoch£¨Ê±¼äµã£©£¬clock tick£¨Ê±ÖÓ¼ÆÊ±µ¥Ôª£©
1£®¸ÅÄî
ÔÚC/C++ÖУ¬¶Ô×Ö·û´®µÄ²Ù×÷ÓкܶàÖµµÃ×¢ÒâµÄÎÊÌ⣬ͬÑù£¬C/C++¶Ôʱ¼äµÄ²Ù×÷Ò²ÓÐÐí¶àÖµµÃ´ó¼Ò×¢ÒâµÄµØ·½¡£ÏÂÃæÖ÷Òª½éÉÜÔÚC/C++ÖÐʱ¼äºÍÈÕÆÚµÄʹÓ÷½·¨.
ͨ¹ýѧϰÐí¶àC/C++¿â£¬Äã¿ÉÒÔÓкܶà²Ù×÷¡¢Ê¹ÓÃʱ¼äµ ......