JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: C ユーザーガイド
search filter icon
search icon

ドキュメントの情報

はじめに

1.  C コンパイラの紹介

2.  C コンパイラ実装に固有の情報

3.  C コードの並列化

4.  lint ソースコード検査プログラム

5.  型に基づく別名解析

5.1 型に基づく解析の概要

5.2 微調整におけるプラグマの使用

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 lint によるチェック

5.3.1 構造体ポインタへのスカラーポインタのキャスト

5.3.2 構造体ポインタへの void ポインタのキャスト

5.3.3 構造体ポインタへの構造体フィールドのキャスト

5.3.4 明示的な別名設定が必要

5.4 メモリー参照の制限の例

5.4.1 例 1

5.4.2 例 2

5.4.3 例 3

5.4.4 例 4

5.4.5 例 5

5.4.6 例 6

5.4.7 例 7

6.  ISO C への移行

7.  64 ビット環境に対応するアプリケーションへの変換

8.  cscope: 対話的な C プログラムの検査

A.  機能別コンパイラオプション

B.  C コンパイラオプションリファレンス

C.  ISO/IEC C 99 の処理系定義の動作

D.  C99 でサポートされている機能

E.  ISO/IEC C90 の処理系定義の動作

F.  ISO C データ表現

G.  パフォーマンスチューニング

H.  K&R Solaris Studio C と Solaris Studio ISO C の違い

索引

5.1 型に基づく解析の概要

-xalias_level オプションを使用すると、7 つの別名レベルのいずれか 1 つを指定できます。各レベルは、ユーザーの C 言語プログラムでのポインタの使用方法について、特定のプロパティーセットを指定します。

コンパイル時に -xalias_level オプションを上位に設定していくと、コンパイラは、コードのポインタに関する仮定を徐々に拡張していきます。コンパイラの作成する仮定が少ないと、それだけプログラミングの自由度が向上します。ただし、狭い仮定で実行された最適化により、実行時のパフォーマンスが向上しないことがあります。より上位レベルの -xalias_level オプションから得られる仮定に従ってコードを作成すると、最終的な最適化で実行時のパフォーマンスが向上する可能性が高くなります。

-xalias_level オプションは、各翻訳単位に適用される別名レベルを指定します。より詳細に設定したほうがよい場合、新しいプラグマを使用すると、適用されている別名レベルを無効にし、個々の型または翻訳単位のポインタ変数間の別名設定の関係性を明示的に指定できます。これらのプラグマは、翻訳単位におけるポインタの用法がいずれかの別名レベルで扱われていても、少数の特定ポインタ変数がいずれかのレベルで許可されていない不規則な方法で使用される場合にもっとも役立ちます。