整列プラグマで指定した <変数> のメモリーはデフォルト値によらず、すべて <整数> バイト境界に揃えられます。
<整数> には 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;};