__align 指定子

Linux __align キーワードを使用すると、データ構造の明示的な位置合わせを指定することができます。 キーワードは、集合体型の定義または第 1 レベル変数の宣言において使用するための直交言語拡張です。 指定されたバイト境界は、メンバーの位置合わせではなく、集合体の位置合わせに全体として影響します。 __align 指定子は、別の集合体定義内でネストされた集合体定義に適用することができますが、 集合体またはクラスの個々のエレメントには適用できません。位置合わせ指定は、 パラメーターおよび自動変数に対しては無視されます。

宣言の形式は次のいずれかです。

>>-declarator--__align--(--int_constant--)--identifier--;------><
 
 

構造体または共用体の構文:

>>-__align--(--int_constant--)--struct_or_union_specifier--+-----+--{--struct_declaration_list--}--;-><
                                                           '-tag-'
 
 

ここで、

int_constant
バイト位置合わせ境界を示す正整数値です。 正しい値は 1248、または 16 です。
struct_or_union_specifier
構造体または共用体の指定子です。
struct_declaration_list
構造体宣言リストです。
tag
構造体または共用体の ID です。

制約および制限事項

__align 指定子は、変数位置合わせのサイズが型位置合わせのサイズより小さい場合は使用することができません。

すべての位置合わせがオブジェクト・ファイル内で表示可能であるとは限りません。

__align 指定子を次の項目に適用することはできません。

IBM Copyright 2003