pack(1)時,按一字節對齊,這樣
struct Size{
char c1; //佔1個字節
int i1; //佔4個字節
float f1; //佔4個字節
double d1; //佔8個字節
} ;
一共17字節
pack(2)時,按二字節對齊,這樣
struct Size{
char c1; //佔2個字節
int i1; //佔4個字節
float f1; //佔4個字節
double d1; //佔8個字節
} ;
一共18字節
pack(4)時,按四字節對齊,這樣
struct Size{
char c1; //佔4個字節
int i1; //佔4個字節
float f1; //佔4個字節
double d1; //佔8個字節
} ;
一共20字節
pack(8)時,按八字節對齊,這樣
struct Size{
char c1; //佔4個字節
int i1; //佔4個字節,和c1一起一共用8個字節
float f1; //佔4個字節
.... //是4字節邊界,和f1一共用8字節
double d1; //佔8個字節
} ;
一共24字節
pack(16)時,按十六字節對齊,這樣
struct Size{
char c1; //佔4個字節
int i1; //佔4個字節
float f1; //佔4個字節
.... //是4字節邊界,和c1,i1,f1一共用16字節
double d1; //佔16個字節
} ;
一共32字節
內存對其之#pragma pack
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.