typedef union {
struct {
char a;
uint16_t b;
};
char dat[3];
} __attribute__ ((packed)) stTest;
このstTestは何故か4バイトで扱われる。
内側の構造体をPACKしていないことに気が付くまで、5分程頭を悩まされる。
typedef union {
struct {
char a;
uint16_t b;
} __attribute__ ((packed));
char dat[3];
} __attribute__ ((packed)) stTest;
これで3バイトとして使えるようになった。