ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: C ユーザーガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
5.2.1 #pragma alias_level level (list)
5.2.1.1 #pragma alias (type, type [, type]...)
5.2.1.2 #pragma alias (pointer, pointer [, pointer] ...)
5.2.1.3 #pragma may_point_to (pointer, variable [, variable] ...)
5.2.1.4 #pragma noalias (type, type [, type]...)
5.2.1.5 #pragma noalias (pointer, pointer [, pointer] ...)
5.2.1.6 #pragma may_not_point_to (pointer, variable [, variable] ...)
5.3.2 構造体ポインタへの void ポインタのキャスト
-xalias_level オプションを使用すると、7 つの別名レベルのいずれか 1 つを指定できます。各レベルは、C 言語プログラムでのポインタの使用方法に関係する特定のプロパティーセットを指定します。
コンパイル時に -xalias_level オプションを上位に設定していくと、コンパイラは、コードのポインタに関する仮定を徐々に拡張していきます。コンパイラの作成する仮定が少ないと、それだけプログラミングの自由度が向上します。ただし、これらの狭い仮定からもたらされた最適化により、実行時のパフォーマンスが大きく向上しないことがあります。コードが、より高度なレベルの -xalias_level オプションのコンパイラ仮定に準拠していれば、結果の最適化によって実行時のパフォーマンスが向上する可能性が高くなります。
-xalias_level オプションは、各翻訳単位に適用される別名レベルを指定します。より詳細に設定したほうがよい場合、新しいプラグマを使用すると、適用されている別名レベルを無効にし、個々の型または翻訳単位のポインタ変数間の別名設定の関係性を明示的に指定できます。