-ansi_alias[-] |
-ansi_alias によって、コンパイラは次の点を前提にします:
- 配列が外部からアクセスされません。
- ポインタを非ポインタ型にキャストしません。また、その逆もしません。
- 2 つの異なるスカラ型のオブジェクトへの参照はエイリアス不可です。例えば、int
のオブジェクトは float 型のオブジェクトと、または float
型のオブジェクトは double 型のオブジェクトとエイリアスの設定はできません。
プログラムが上記の条件を満たす場合、-ansi_alias フラグを設定することでプログラムの最適化が向上します。ただし、プログラムが上記の条件を
1 つでも満たさない場合、コンパイラは -ansi_alias フラグを設定することで誤ったコードを生成する可能性があります。 |