方法1: #pragma pack(n)
使用僞指令#pragma pack (n),編譯器將按照n 個字節對齊;
使用僞指令#pragma pack (),取消自定義字節對齊方式。
如果#pragma pack (n)中指定的n 大於結構體中最大成員的size,則其不起作用,結構體仍然按照size 最大的成員進行對界
特別注意:該方法是在 gcc 4 中增加的,至少 gcc 3.4 沒有這個。
方法2: typedef struct typeabc
{
double a;
int b;
char c;
}__attribute__( ( packed, aligned( 1 ) ) ) abc;
其它:gcc下默認爲4字節對齊,網絡協議默認1字節對齊