c/c++ÖеÄ×Ö½Ú¶ÔÆëÎÊÌâ
struct bar
{
double a;
int i;
short s;
char c1;
char c2;
};
ÉÏÃæµÄ½á¹¹ÌåÔÚvc6.0ÖÐÓÃsizeofÊä³öÆä´óСΪ16
ÎҸе½ºÜÆæ¹Ö£¬²»ÊÇ˵ĬÈϵÄÊǰ´ËÄ×Ö½Ú¶ÔÆëµÄÂð£¿ÎªÊ²Ã´»¹ÊÇ16ÄØ£¿
Ϊʲô×îºóµÄchar c1Õ¼µÄ¿Õ¼ä´óС²»ÊÇ4¸ö×Ö½Ú
8+4+2+1+1
¿´¿´Õâ¸ö£ºhttp://blog.csdn.net/hairetz/archive/2009/04/16/4084088.aspx
struct test
{
char c1;
char c2;
char c3;
char c4;
}
Èç¹ûÂ¥Ö÷¿ÉÒÔÀí½âÉÏÃæ½á¹¹ÌåµÄsizeΪʲôÊÇ4µÄ»°£¬Ó¦¸Ã¾ÍÄÜÀí½âΪʲôÄãµÄbar½á¹¹ÌåµÄsizeÊÇ16ÁË¡¡
¶ÔÆëÊǰ´ÀàÐÍ×ÔÉíµÄ³¤¶ÈΪ±ß½ç¶ÔÆëµÄ¡£
²»×ã4×ֽڵĿÉÒÔ¹²Í¬Õ¼ÓÐ4×Ö½Ú£¬²»¹ý²»ÄÜ¿çÔ½¡£
¶÷£¬£¬Â¥ÉÏÃǶ¼»Ø´ðºÜÕýÈ·ÁË£¬Â¥Ö÷¿ÉÒÔÈýÂ¥µÄÀí½âµ½×Ô¼ºµÄÌâÄ¿µÄ½á¹û
doubleÕ¼8¸ö×Ö½Ú¡£
Ê×ÏÈÄÚ´æ¶ÔÆäµÄ¹æÔò£º
1:µÚÒ»¸ö³ÉԱλÓÚÆ«ÒÆÁ¿Îª0µÄλÖá£ÒÔºóÿ¸öÊý¾ÝµÄÆ«ÒÆÁ¿±ØÐëÊÇ min(#pragma pack()Ö¸¶¨µÄ²ÎÊý £¬ Õâ¸öÊý¾Ý³ÉÔ±×ÔÉí³¤¶È£©µÄ±¶Êý
2£ºÔÚÊý¾Ý³ÉÔ±¸÷×ÔÍê³É¶ÔÆë£¬½á¹¹±¾ÉíÖ®¼äÒ²Òª¶ÔÆä£¬¶ÔÆë½«°´ÕÕ#prag
Ïà¹ØÎÊ´ð£º
ÈçÌ⣬C/C++ÖеÄexeclÔõôµ÷ÓÃдºÃµÄjava³ÌÐò£¬
execl("/opt/java1.5/bin/java","MyClass",NULL);
ÕâÑùµÄ²»ÐÐŶ¡£
²»»á.
ÔËÐÐjava³ÌÐò
ÕÒ¹¤¾ß²é¿´Ò»ÏÂÄǸö³ÌÐòµÄÃüÁîÐÐ
ËÑË÷Ï£ºjni ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
±ÈÈçµ±³ÌÐò³öÏֶδíÎóʱ£¬ÈçºÎÈóÌÐòÖØÐ¿ªÊ¼£¬¶ø²»ÊDZ»ÏµÍ³ÖÕÖ¹¡£
ÄãÏëÒì³£´¦ÀíÂð£¿
C²»Ö§³Ö¡£
ÔÙ˵£¬Òì³£ºÍ´íÎóÊDz»Í¬µÄ¡£
¶Î´íÎó¾ÍÓ¦¸ÃÖÕÖ¹¡£
assert()
abort()
exit()
µ±³ÌÐò³öÏֶδíÎóʱ,ÎÞ· ......