> しかし、Gnu C は、なんとバイト、ハーフワード、 > ワードに分けてエリアに展開します。 だから、 普通は定義順に並べたほうがコンパイラ的に楽ですが、一般的に short,longデータはそのバンダリでデータを配置したほうが、 ロード・ストアの実行スピードが速くなるで、型別にデータをまとめ ようとするのではないかと思います。 H8の場合、ワード以上のアクセスは偶数バンダリでないといけませんから、 char c; short s; をやったら絶対にアドレスは連続しません。32ビットCPUなら、 メモリは食いますが、32ビットバンダリにしたほうが速くなります。 それゆえ、そういうコーディング方法は移植性に優れていないと思います。 この場合は全部short以上の型なので問題ありませんが、コンパイラの性格が 悪さをしていると思います。 -- Masahiro Ochiai