サンプルプログラム
struct aa { char a; int b; };
struct bb { char a; int b __attribute__((packed)); };
#pragma pack(1)
struct cc { char a; int b; };
int main(int argc, char *argv[]) {
printf("%d %d %d\n",
sizeof(struct aa), sizeof(struct bb), sizeof(struct cc));
}
出力結果もちろん、構造体の扱いを改めるのが正しい解決方法であることは分かっ
% gcc test.c
% a.out
8 5 5