Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

2.11.1 align

#pragma align integer (variable[, variable])

整列プラグマで指定した変数のメモリーはデフォルト値によらず、すべて integer バイト境界にそろえられます。ただし、次の制限があります。

  • integer の値は、1 から 128 までの 2 の累乗でなければいけません。有効な値は、1、2、4、8、16、32、64、および 128 です。

  • variable は大域または静的変数です。

  • 指定された境界がデフォルトより小さい場合は、デフォルトが優先します。

  • プラグマ行は、それが示す変数の宣言よりも先になければいけません。それ以外の場合は無視されます。

  • プラグマ行で記述されているが、そのあとで宣言されていない変数は無視されます。例:

    #pragma align 64 (aninteger, astring, astruct)
    int aninteger;
    static char astring[256];
    struct astruct{int a; char *b;};