境界整列アクセスと非境界整列アクセス、および__packedの利用。 はじめに 他のRISCアーキテクチャと同様に、ARMプロセッサは、境界整列データを効率的にアクセスできるように設計されています。境界整列データというのは、4の倍数のアドレスに配置されるワードや、2の倍数のアドレスに配置されるハーフワードです。このようなデータは、自然なサイズ境界に配置されます。 ARMのコンパイラは通常、グローバル変数をこれらの自然なサイズ境界に整列させるので、LDR/STR命令によって変数に効率的にアクセスできます。 これは、命令が非境界整列データに直接アクセスできるほとんどのCISCアーキテクチャとは対照的です。 つまり、非境界整列アクセスを実行する既存のコードをARMに移植する場合には注意が必要です。 非境界整列ポインタ ARMコンパイラは、通常のCのポインタはメモリ内の境界整列されたワ