#pragma align <整数> (<変数>[, <変数>])
整列プラグマで指定した変数のメモリーはデフォルト値によらず、すべて <整数> バイト境界に揃えられます。ただし、次の制限があります。
<整数> には 2 の階乗 (1 〜 128) を指定します。有効な値は 1、2、4、8、16、32、64、128 です。
<変数> には大域または静的な変数を指定します。自動変数は指定できません。
指定された境界がデフォルトより小さい場合は、デフォルトが優先します。
プラグマ行は、その行に指定される変数の宣言よりも先になければいけません。先にないと無視されてしまいます。
プラグマ行で記述されているが、そのあとで宣言されていない変数は無視されます。次に例を示します。
#pragma align 64 (aninteger, astring, astruct) int aninteger; static char astring[256]; struct astruct{int a; char *b;}; |