C ÓïÑÔÊý¾Ý¶ÔÆë
#include <stdio.h>
struct Foo1
{
char a;
int b;
char c;
int d;
};
#pragma pack (2)
struct Foo2
{
char a;
int b;
char c;
int d;
};
#pragma pack ()
struct Foo3
{
char a;
char c;
int b;
int d;
};
struct Foo4
{
char a;
int b;
char c;
int d;
} __attribute__ ((__packed__));
int main(int argc, char **argv)
{
printf("size of Foo1: %d ", sizeof(struct Foo1));
printf("size of Foo2: %d ", sizeof(struct Foo2));
printf("size of Foo3: %d ", sizeof(struct Foo3));
printf("size of Foo4: %d ", sizeof(struct Foo4));
return 0;
}
ÏÂÃæµÄС³ÌÐòÊǹØÓÚÊý¾Ý¶ÔÆëµÄÒ»¸öÊÔÑ飬ÔÚÎÒµÄ 2.4 ÄÚºËµÄ Linux ÉÏÔËÐнá¹ûÈçÏ£º
size of Foo1: 16
size of Foo2: 12
size of Foo3: 12
size of Foo4: 10
1¡¢ Foo1 δ¾¹ýÈκδ¦ÀíµÄ£¬ÓÉÓÚÕûÐÍÐèÒª°´ 4 ×Ö½Ú¶ÔÆ룬Òò´Ëʵ¼Ê´æ´¢½á¹ûÈçÏ£¬Õ¼Óà 16 ¸ö×Ö½Ú¿Õ¼ä
2¡¢Foo2 ͨ¹ý #pragma pack (2) £¬½«¶ÔÆ뷽ʽ¸ÄΪ 2 ×Ö½Ú¶ÔÆ룬ʵ¼Ê´æ´¢½á¹ûÈçÏ£¬Õ¼Óà 12 ×Ö½Ú¿Õ¼ä
3¡¢ Foo3, ͨ¹ý #pragma pack ()£¬ÓÖ»Ö¸´µ½Ä¬È쵀 4 ×Ö½Ú¶ÔÆ뷽ʽ£¬µ«ÊÇÓÉÓÚµ÷ÕûÁ˱äÁ¿µÄ˳Ðò£¬Êµ¼Ê´æ´¢½á¹ûÈçÏ£¬Õ¼Óà 12 ×Ö½Ú¿Õ¼ä
4¡¢Foo4, ͨ¹ý GCC µÄ __packed__ µÄÀ©Õ¹ÊôÐÔ£¬½ûÖ¹¶ÔÆ룬µÃµ½ÈçϽá¹û£¬Õ¼Óÿռä 10 ×Ö½Ú
Ïà¹ØÎĵµ£º
1.ÓÃÔ¤´¦ÀíÖ¸Áî#defineÉùÃ÷Ò»¸ö³£Êý£¬±íÃ÷1ÄêÓжàÉÙÃ루ÈòÄêºöÂÔ£©
#define SECONDS_PER_YEAR (60*60*24*365)UL
2.дһ¸ö“±ê×¼”ºê MIN£¬ÊäÈëÁ½¸ö²ÎÊý²¢·µ»Ø½ÏСµÄÒ»¸ö
#define MIN(A,B) ( ( (A)<=(B) )?(A):(B) )
3.Ô¤´¦Àí±êʶ#errorµÄÄ¿µÄÊÇʲô?
Í£Ö¹±àÒë²¢ÏÔʾ³ö´íÐÅÏ¢
4.ÓÃCÓïÑÔ±àдһ¸öËÀÑ ......
@ ECHO OFF
@ ECHO.
@ ECHO. Snlie
@ ECHO ---------------------------------------------------------------
@ ECHO NTFS¸ñʽÊÇWinXPÍƼöʹÓõĸñʽ¡£×ª»» ......
@ ECHO OFF
@ ECHO.
@ ECHO. ˵ Ã÷
@ ECHO ----------------------------------------------------------------- ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâЩÍøÕ¾Ìṩc/c++Ô´´úÂë ¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨ Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ ......
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓ ......