Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.113 -xbuiltin[={ %all|%none}]

標準ライブラリ呼び出しの最適化を有効または無効にします。

デフォルトでは、標準ライブラリヘッダで宣言された関数は、コンパイラによって通常の関数として処理されます。ただし、これらの関数の一部は、「組み込み」として認識されます。組み込み関数として処理されるときは、コンパイラでより効果的なコードを生成できます。たとえば、一部の関数は副作用がないことをコンパイラで認識でき、同じ入力が与えられると常に同じ出力が戻されます。一部の関数はコンパイラによって直接インラインで生成できます。オブジェクトファイル内のコンパイラのコメントからコンパイラが実際に置換を行う関数を特定する方法については、er_src(1) のマニュアルページを参照してください。

-xbuiltin=%all オプションは、コンパイラにできるだけ多数の組み込み標準関数を認識するように指示します。認識される関数の正確なリストは、コンパイラコードジェネレータのバージョンによって異なります。

-xbuiltin=%none オプションはデフォルトのコンパイラの動作に影響を与え、コンパイラは組み込み関数に対して特別な最適化は行いません。

A.2.113.1 デフォルト

-xbuiltin を指定しないと、コンパイラでは -xbuiltin=%none が使用されます。

-xbuiltin だけを指定すると、コンパイラでは -xbuiltin=%all が使用されます。

相互の関連性

マクロ -fast の拡張には、-xbuiltin=%all が取り込まれます。

次のコンパイラコマンドでは、標準ライブラリ呼び出しを特殊処理するように要求します。


example% CC -xbuiltin -c foo.cc

次のコンパイラコマンドでは、標準ライブラリ呼び出しを特殊処理しないように要求します。マクロ -fast の拡張には -xbuiltin=%all が取り込まれていることに注意してください。


example% CC -fast -xbuiltin=%none -c foo.cc