--interface_enums_are_32_bit

このオプションは、列挙型のサイズという点で、外部コードインタフェースとの互換性の確保に役立ちます。

Show/hide使用法

--enum_is_int を使用してコンパイルしたオブジェクトファイルは、--enum_is_int を使用せずにコンパイルした別のオブジェクトファイルとリンクできません。リンカは、列挙型が外部インタフェースに影響を与える方法で使用されるかどうかを判断できないので、これらのビルドの違いを検出すると、警告またはエラーを生成します。--interface_enums_are_32_bit を使用してコンパイルすると、この問題を防ぐことができます。コンパイルされたオブジェクトファイルは別のオブジェクトファイルとリンクでき、列挙型のサイズが異なることが原因でリンカによって競合が検出されることはありません。

Note

このオプションを使用すると、外部インタフェースで使用されるすべての列挙型が 32 ビット幅であることをコンパイラに対して保証することになります。例えば、宣言するすべての enum に 2 の 16 乗より大きな値が少なくとも 1 つ含まれるようにした場合、--enum_is_int を使用するかどうかにかかわらず、コンパイラは強制的に enum を 32 ビット幅にするようになります。ユーザは、コンパイラに対して行った保証が確実に守られるようにする必要があります(外部インタフェスに enums が含まれていないことを確認することによって、この条件を満たすこともできます)。

Show/hideデフォルト

デフォルトでは、すべての列挙子の値を保持できる最小のデータ型が使用されます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711