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

ͨ¹ý#pragma pack(n)¸Ä±äC±àÒëÆ÷µÄ×Ö½Ú¶ÔÆë·½Ê½

ÔÚCÓïÑÔÖУ¬½á¹¹ÊÇÒ»ÖÖ¸´ºÏÊý¾ÝÀàÐÍ£¬Æä¹¹³ÉÔªËØ¼È¿ÉÒÔÊÇ»ù±¾Êý¾ÝÀàÐÍ£¨Èçint¡¢long¡¢floatµÈ£©µÄ±äÁ¿£¬Ò²¿É
ÒÔÊÇһЩ¸´ºÏÊý¾ÝÀàÐÍ£¨ÈçÊý×é¡¢½á¹¹¡¢ÁªºÏµÈ£©µÄÊý¾Ýµ¥Ôª¡£ÔڽṹÖУ¬±àÒëÆ÷Ϊ½á¹¹µÄÿ¸ö³ÉÔ±°´Æä×ÔÈ»¶Ô½ç£¨alignment£©Ìõ¼þ·ÖÅä¿Õ¼ä¡£¸÷¸ö³ÉÔ±
°´ÕÕËüÃDZ»ÉùÃ÷µÄ˳ÐòÔÚÄÚ´æÖÐ˳Ðò´æ´¢£¬µÚÒ»¸ö³ÉÔ±µÄµØÖ·ºÍÕû¸ö½á¹¹µÄµØÖ·Ïàͬ¡£
     ÀýÈ磬ÏÂÃæµÄ½á¹¹¸÷³ÉÔ±¿Õ¼ä·ÖÅäÇé¿ö£º
struct test
{
     char x1;
     short x2;
     float x3;
     char x4;
};
    
½á¹¹µÄµÚÒ»¸ö³ÉÔ±x1£¬ÆäÆ«ÒÆµØÖ·Îª0£¬Õ¼¾ÝÁ˵Ú1¸ö×Ö½Ú¡£µÚ¶þ¸ö³ÉÔ±x2ΪshortÀàÐÍ£¬ÆäÆðʼµØÖ·±ØÐë2×ֽڶԽ磬Òò´Ë£¬±àÒëÆ÷ÔÚx2ºÍx1Ö®¼äÌî
³äÁËÒ»¸ö¿Õ×Ö½Ú¡£½á¹¹µÄµÚÈý¸ö³ÉÔ±x3ºÍµÚËĸö³ÉÔ±x4Ç¡ºÃÂäÔÚÆä×ÔÈ»¶Ô½çµØÖ·ÉÏ£¬ÔÚËüÃÇÇ°Ãæ²»ÐèÒª¶îÍâµÄÌî³ä×Ö½Ú¡£ÔÚtest½á¹¹ÖУ¬³ÉÔ±x3ÒªÇó4×Ö
½Ú¶Ô½ç£¬ÊǸýṹËùÓгÉÔ±ÖÐÒªÇóµÄ×î´ó¶Ô½çµ¥Ôª£¬Òò¶øtest½á¹¹µÄ×ÔÈ»¶Ô½çÌõ¼þΪ4×Ö½Ú£¬±àÒëÆ÷ÔÚ³ÉÔ±x4ºóÃæÌî³äÁË3¸ö¿Õ×Ö½Ú¡£Õû¸ö½á¹¹ËùÕ¼¾Ý¿Õ¼äΪ
12×Ö½Ú¡£
¸ü¸ÄC±àÒëÆ÷µÄȱʡ×Ö½Ú¶ÔÆë·½Ê½
     ÔÚȱʡÇé¿öÏ£¬C±àÒëÆ÷Ϊÿһ¸ö±äÁ¿»òÊÇÊý¾Ýµ¥Ôª°´Æä×ÔÈ»¶Ô½çÌõ¼þ·ÖÅä¿Õ¼ä¡£Ò»°ãµØ£¬¿ÉÒÔͨ¹ýÏÂÃæµÄ·½·¨À´¸Ä±äȱʡµÄ¶Ô½çÌõ¼þ£º
¡¡¡¡· ʹÓÃαָÁî#pragma pack (n)£¬C±àÒëÆ÷½«°´ÕÕn¸ö×Ö½Ú¶ÔÆë¡£
     · ʹÓÃαָÁî#pragma pack ()£¬È¡Ïû×Ô¶¨Òå×Ö½Ú¶ÔÆë·½Ê½¡£
     ÁíÍ⣬»¹ÓÐÈçϵÄÒ»ÖÖ·½Ê½£º
     · __attribute((aligned (n)))£¬ÈÃËù×÷ÓõĽṹ³ÉÔ±¶ÔÆëÔÚn×Ö½Ú×ÔÈ»±ß½çÉÏ¡£Èç¹û½á¹¹ÖÐÓгÉÔ±µÄ³¤¶È´óÓÚn£¬Ôò°´ÕÕ×î´ó³ÉÔ±µÄ³¤¶ÈÀ´¶ÔÆë¡£
     · __attribute__ ((packed))£¬È¡Ïû½á¹¹ÔÚ±àÒë¹ý³ÌÖеÄÓÅ»¯¶ÔÆë£¬°´ÕÕʵ¼ÊÕ¼ÓÃ×Ö½ÚÊý½øÐÐ¶ÔÆë¡£
ÒÔÉϵÄn = 1, 2, 4, 8, 16... µÚÒ»ÖÖ·½Ê½½ÏΪ³£¼û¡£
Ó¦ÓÃʵÀý
¡¡
¡¡ÔÚÍøÂçЭÒé±à³ÌÖУ¬¾­³£»á´¦Àí²»Í¬Ð­ÒéµÄÊý¾Ý±¨ÎÄ¡£Ò»ÖÖ·½·¨ÊÇͨ¹ýÖ¸ÕëÆ«ÒÆµÄ·½·¨À´µÃµ½¸÷ÖÖÐÅÏ¢£¬µ«ÕâÑù×ö²»½ö±à³Ì¸´ÔÓ£¬¶øÇÒÒ»µ©Ð­ÒéÓб仯£¬³ÌÐòÐÞ¸Ä
ÆðÀ´Ò²±È½ÏÂé·³¡£ÔÚÁ˽âÁ˱àÒëÆ÷¶Ô½á¹¹¿Õ¼äµÄ·ÖÅäÔ­ÔòÖ®ºó£¬ÎÒÃÇÍêÈ«¿ÉÒÔÀûÓÃÕâÒ»ÌØÐÔ¶¨Òå×Ô¼ºµÄЭÒé½á¹¹£¬Í¨¹ý·ÃÎʽṹµÄ³ÉÔ±À´»ñÈ¡¸÷ÖÖÐÅÏ¢¡£ÕâÑ


Ïà¹ØÎĵµ£º

¶Á¡¶CºÍÖ¸Õë¡·±Ê¼ÇÕªÒª¡¾1¡¿

2010-03-16
1£¬×Ö·û´®³£Á¿£º¾ÍÊÇÔÚÔ´³ÌÐòÖб»Ë«ÒýºÅÀ¨ÆðÀ´µÄÒ»´®×Ö·û£¬ÀýÈç“hello”¡£ÔÚÄÚ´æÖдæ6¸ö×Ö½Ú£¬°üÀ¨×îºóÒ»¸öNUL×Ö½Ú£¨¼´‘\0’£©.
2£¬NULÊÇASCii×Ö·û¼¯ÖБ\0’×Ö·ûµÄÃû×Ö£¬ËüµÄ×Ö½ÚģʽΪȫ0. NULLÖ¸Ò»¸öÆäֵΪ0µÄÖ¸Õ룬ËûÃǶ¼ÊÇÕûÐÍÖµ£¬ÇÒÖµ¶¼Ïàͬ£¬ËùÒÔËûÃÇ¿ÉÒÔ»¥»»Ê¹Ó㬵« ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

      ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
   ÏÂÃæÊÇ ......

DS¼Æ»®CÉîÈëÏîĿѧϰ×ܽᗗ±äÁ¿µÄ×÷ÓÃÓò

1.1 ±äÁ¿×÷ÓÃÓò
1.1.1 ¼¸ÖÖ³£¼ûÀàÐͱäÁ¿µÄ×÷ÓÃÓò
×÷ÓÃÓò£¨scope£©»òÕ߿ɼûÐÔÊÇÖ¸±äÁ¿ÔÚ³ÌÐòÄڵĿɼûºÍ¿ÉÒýÓõķ¶Î§¡£
±ÈÈç:
1¡¢ È«¾Ö±äÁ¿ÔÚËùÓеÄÎļþ¶¼¿É¼û£¬ÄÇËûµÄ×÷ÓÃÓò¾ÍÊÇËùÓÐÎļþ£»
2¡¢ static¶¨ÒåµÄÈ«¾Ö±äÁ¿£¬Ö»ÔÚ¶¨ÒåËüµÄÔ´ÎļþÖпɼû£¬ÄÇËûµÄ×÷ÓÃÓò¾ÍÊÇÆäËùÔÚµÄÔ´Îļþ£»
3¡¢ º¯ÊýÄÚ²¿µÄ¾Ö²¿±äÁ¿£¬Ö»ÔÚÆäº¯Êý ......

ÀûÓÃÊÀ½ç×îС×î¿ìµÄC±àÒëÆ÷´òÔì×Ô¼ºµÄC±à¼­Æ÷

ÀûÓÃÊÀ½ç×îС×î¿ìµÄC±àÒëÆ÷´òÔì×Ô¼ºµÄC±à¼­Æ÷
¼ò½étinycc ÊÀ½çÉÏ×îС±àÒëËÙ¶È×î¿ìµÄCÓïÑÔ±àÒëÆ÷ ¸÷ÏÄܽø¹Ù·½È¥¿´
TCC¹Ù·½ÏÂÔØµØÖ·£ºhttp://ftp.twaren.net/Unix/NonGNU/tinycc/tcc-0.9.25-win32-bin.zip
ÎÒÖªµÀ ´ó¼Ò»ù±¾É϶¼ÓùýWIN—TC°É ÌØ±ðÊÇÉϹý´óѧµÄ CÓïÑÔÈëÃÅʱÓõͼÊÇ
ËûµÄ²Ù×÷½çÃæÈçͼ
¹þ¹þ ¿´ÏÂÍ ......

¹ØÓÚC/C++ ±í´ïʽÇóֵ˳Ðò 䶨Òå

±í´ïʽµÄ¸±×÷ÓÃ
ÔËËã·ûµÄÓÅÏȼ¶Óë½áºÏÐԹ涨Á˱í´ïʽÖÐÏàÁÚÁ½¸öÔËËã·ûµÄÔËËã´ÎÐò£¬µ«¶ÔÓÚ˫Ŀ
ÔËËãµÄ²Ù×÷Êý£¬C++ûÓй涨ËûÃǵļÆËã´ÎÐò¡£ÀýÈ磬¶ÔÓÚ±í´ïʽ£º
exp1 + exp2;
ÏȼÆËã exp1 »¹ÊÇ exp2£¿²»Í¬µÄ±àÒëÆ÷Óв»Í¬µÄ×ö·¨¡£
ÔÚÊýѧÉÏ£¬¶ÔÓÚ˫ĿÔËËã·û£¬²»ÂÛÏȼÆËãÄÄÒ»¸ö²Ù×÷Êý£¬ÒªÇó×îÖÕ¼ÆËã½á¹ûÒ»Ñù¡£
ÔÚ C++ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ