c/c++ ÄÚ´æ¶ÔÆë sizeof
һƪ½²¶ÔÆë±È½ÏºÃµÄÎÄÕ£¬×ªÌùÈçÏÂ:
´óÖ±ê×¢Ò»¶þ:
1.ÄÚ´æ¶ÔÆë:¼ÆËã»úϵͳ¶Ô»ù±¾ÀàÐÍÊý¾ÝÔÚÄÚ´æÖдæ·ÅµÄλÖÃÓÐÏÞÖÆ£¬ËüÃÇ»áÒªÇóÕâЩÊý¾ÝµÄÊ×µØÖ·µÄÖµÊÇij¸öÊýk(ͨ³£ËüΪ4»ò8)µÄ±¶ÊýkÔò±»³ÆΪ¸ÃÊý¾ÝÀàÐ͵ĶÔÆëÄ£Êý(alignment modulus)
2.²»Í¬±àÒëÆ÷ĬÈϵÄ×î´ó¶ÔÆë×Ö½ÚÊýÊDz»Ò»ÑùµÄ,±ÈÈçvc==8,gcc==4,¿ÉÒÔͨ¹ý#progma pack (n)À´ÐÞ¸Ä,·ÖÎö³ÌÐòµÄʱºòҪעÒâ±àÒëÆ÷µÄÇø±ð
3.Ò»¸ö½á¹¹ÌåÀïÃæ,°´ÕÕalignment modulus×î´óµÄÊý¾Ý³ÉÔ±À´½øÐжÔÆë,³¬¹ý±àÒëÆ÷¹æ¶¨×î´óµÄ¶ÔÆë×Ö½Ú¸öÊý,°´±àÒëÆ÷×î´ó¶ÔÆë×Ö½Ú¸öÀ´
4.doubleÀàÐÍÔÚvcÀïÃæalignment modulus == 8,¶øÔÚgccÀïÃæÓÉÓÚĬÈÏ×î´ó¶ÔÆë¸öÊýÊÇ4,²»ÉèÖõĻ°,alignment modulus == 4
5.ÒòΪÊý×é¸÷ÔªËØÖ®¼ä²»ÄÜÓпÕ϶,ËùÒÔ{int a;char b;}
ÕâÖÖÇé¿ö,ĬÈÏÔÚVCÀïÃæÒ²ÐèÒªÕ¼8¸ö×Ö½Ú.
ÕýÎÄÈçÏ£º
µ±ÔÚCÖж¨ÒåÁËÒ»¸ö½á¹¹ÀàÐÍʱ£¬ËüµÄ´óСÊÇ·ñµÈÓÚ¸÷×Ö¶Î(field)´óС֮ºÍ£¿±àÒëÆ÷½«ÈçºÎÔÚÄÚ´æÖзÅÖÃÕâЩ×ֶΣ¿ANSI C¶Ô½á¹¹ÌåµÄÄÚ´æ²¼¾ÖÓÐʲôҪÇ󣿶øÎÒÃǵijÌÐòÓÖÄÜ·ñÒÀÀµÕâÖÖ²¼¾Ö£¿ÕâЩÎÊÌâ»òÐí¶Ô²»ÉÙÅóÓÑÀ´Ëµ»¹ÓеãÄ£ºý£¬ÄÇô±¾ÎľÍÊÔ×Å̽¾¿ËüÃDZ³ºóµÄÃØÃÜ¡£
Ê×ÏÈ£¬ÖÁÉÙÓÐÒ»µã¿ÉÒԿ϶¨£¬ÄǾÍÊÇANSI C±£Ö¤½á¹¹ÌåÖи÷×Ö¶ÎÔÚÄÚ´æÖгöÏÖµÄλÖÃÊÇËæËüÃǵÄÉùÃ÷˳ÐòÒÀ´ÎµÝÔöµÄ£¬²¢ÇÒµÚÒ»¸ö×ֶεÄÊ×µØÖ·µÈÓÚÕû¸ö½á¹¹ÌåʵÀýµÄÊ×µØÖ·¡£±ÈÈçÓÐÕâÑùÒ»¸ö½á¹¹Ì壺
struct vector{int x,y,z;} s;
int *p,*q,*r;
struct vector *ps;
p = &s.x;
q = &s.y;
r = &s.z;
ps = &s;
assert(p < q);
assert(p < r);
assert(q < r);
assert((int*)ps == p);
// ÉÏÊö¶ÏÑÔÒ»¶¨²»»áʧ°Ü
Õâʱ£¬ÓÐÅóÓÑ¿ÉÄÜ»áÎÊ:"±ê×¼ÊÇ·ñ¹æ¶¨ÏàÁÚ×Ö¶ÎÔÚÄÚ´æÖÐÒ²ÏàÁÚ?"¡£ ßí£¬¶Ô²»Æð£¬ANSI CûÓÐ×ö³ö±£Ö¤£¬ÄãµÄ³ÌÐòÔÚÈκÎʱºò¶¼²»Ó¦¸ÃÒÀÀµÕâ¸ö¼ÙÉè¡£ÄÇÕâÊÇ·ñÒâζ×ÅÎÒÃÇÓÀÔ¶ÎÞ·¨¹´ÀÕ³öÒ»·ù¸üÇåÎú¸ü¾«È·µÄ½á¹¹ÌåÄÚ´æ²¼¾Öͼ£¿Å¶£¬µ±È»²»ÊÇ¡£²»¹ýÏÈÈÃÎÒÃÇ´ÓÕâ¸öÎÊÌâÖÐÔÝʱ³éÉí£¬¹Ø×¢Ò»ÏÂÁíÒ»¸öÖØÒªÎÊÌâ————ÄÚ´æ¶ÔÆë¡£
Ðí¶àʵ¼ÊµÄ¼ÆËã»úϵͳ¶Ô»ù±¾ÀàÐÍÊý¾ÝÔÚÄÚ´æÖдæ·ÅµÄλÖÃÓÐÏÞÖÆ£¬ËüÃÇ»áÒªÇóÕâЩÊý¾ÝµÄÊ×µØÖ·µÄÖµÊÇij¸öÊýk(ͨ³£ËüΪ4»ò8)µÄ±¶Êý£¬Õâ¾ÍÊÇËùνµÄÄÚ´æ¶ÔÆ룬¶øÕâ¸ökÔò±»³
Ïà¹ØÎĵµ£º
ÉÏÖÜÀÏ°å·ÖÏÂÀ´6¸öְλÈí¼þ¿ª·¢·½ÃæµÄְλ¸øÎÒ£¬ÒªÎÒ°´Ö°Î»ÒªÇóÑ°ÕÒºÏÊʵÄÈ˲š£¾ÓÈ»ÊÇC/C++!¾ÝÎÒËùÖª£¬ÔÚÈ˲ſâÖУ¬JAVA È˲ŵ¹ÊÇÓ¦Óо¡ÓУ¬Ñ§CµÄ£¬»¹ÊÇǶÈëʽ¿ª·¢µÄ¿ÉÕæµÄºÃÉÙ°¡¡£ÎÒÓÖ²»ÊÇŮ洣¬ÄѵÀÎÒ»áÔìÈ˲Åô£¿ÒªÇóÌõ¼þ»¹Õâô¸ß£¡
ÒÔÏÂÊÇ´óÁ¬Èí¼þÔ°¼¸¼ÒÖªÃûÍâÆóίÍÐÎÒÃÇÕÐƸµÄְλÐÅÏ¢¡£
Position 1 Èí¼þ¿ª·¢¹¤³Ìʦ ......
nokia wiki£ºhttp://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Technical_Overview/zh-hans
symbianÉÏ¿ª·¢opencʱÐèҪעÒâµÄÎÊÌâ
http://blog.csdn.net/sizhiguo/archive/2009/05/21/4206138.aspx
µÚÒ»£ºÈçprintf¡¢sprint¡¢Îļþ²Ù×÷¡¢socket²Ù×÷µÈ£¬Ä£ÄâÆ÷ÆÁÄ»¶¼»á³öÏÖ°×ÆÁµÈ´ý£¬²¢ÇÒÊÇÒ»Ö±ÏÂÈ¥¡£ ......
´´½¨Ð½ø³Ì£ºforkº¯Êý
1.1.1. forkº¯Êý¸Éʲô£¿
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
‘fork()’º¯ÊýÓÃÓÚ´ÓÒÑ´æÔÚ½ø³ÌÖд´½¨Ò»¸öнø³Ì¡£Ð½ø³Ì³ÆΪ×Ó½ ......
ÎÞÒâÖз³öÁËNÄêǰдµÄµÝ¹é-»ØËÝ·¨Çó½â8»ÊºóÎÊÌ⣬¸É´âÈûµ½²©¿ÍÖаɡ£
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define QUEENS 8
// ¼Ç¼½âµÄÐòºÅµÄÈ«¾Ö±äÁ¿¡£
int iCount = 0;
// ¼Ç¼»ÊºóÔÚ¸÷ÁÐÉϵķÅÖÃλÖõÄÈ«¾ÖÊý×é¡£
int Site[QUEENS];
// µÝ¹éÇó½âµÄº¯Êý¡£
void Q ......
ÓÃ#include¿ÉÒÔ°üº¬ÆäËûÍ·ÎļþÖбäÁ¿¡¢º¯ÊýµÄÉùÃ÷£¬ÎªÊ²Ã´»¹Òªextern¹Ø¼ü×Ö,Èç¹ûÎÒÏëÒýÓÃÒ»¸öÈ«¾Ö±äÁ¿»ò
º¯Êýa£¬ÎÒÖ»ÒªÖ±½ÓÔÚÔ´ÎļþÖаüº¬#include<xxx.h>
(xxx.h°üº¬ÁËaµÄÉùÃ÷)²»¾Í¿ÉÒÔÁËô£¬ÎªÊ²Ã´»¹ÒªÓÃexternÄØ£¿£¿Õâ¸öÎÊÌâÒ»Ö±Ò²ÊÇËÆÊǶø·ÇµÄÀ§ÈÅ×ÅÎÒÐí¶àÄêÁË£¬½ñÌìÉÏÍøºÝºÝ²éÁËÒ»ÏÂ×ÜËãСÓÐ
Ëù»ñÁË£º
Í· ......