我也來提供一個.C語言,64bit
struct A {
int8 arg1;
int8 reserve;
int16 reserve2;
int arg2;
int32 arg3;
int32 reserve3;
} __attribute__((packed));
.... 為什麼你不相信gcc 的對齊功能呢..
當然,如果這個A 物件的資料會在不同的CPU或硬體平台傳輸,程式可能會這樣寫,可是
既然都要在各種不同CPU 或硬體環境上傳輸,我寧願不要做對齊,浪費一堆網路封包傳送
reserve幹麻呢
因為我要維護這段code ,所以我確定他要在gcc編譯特殊領域可能會需要特殊C語言寫法,不過,我維護的只是一般的C語言應用程式,超級純的userspace program