ブログ - アライメント

アライメント

カテゴリ : 
雑記
2013-2-21 20:19
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バイトとして使えるようになった。

トラックバック

トラックバックpingアドレス http://www.besttechnology.co.jp/modules/d3blog/tb.php/124