C++ ユーザーズガイド

機能別に見たオプションの要約

この節には、参照しやすいように、コンパイラオプションが機能別に分類されています。

コード生成オプション

コード生成オプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

コンパイラの主要リリースとの互換モードを設定する。 

-compat

「-compat[=(4|5)] 」

C++ インライン関数を展開しない。 

+d

「+d」

仮想テーブル生成を制御する。 

-e(0|1)

「+e(0|1)」

デバッグ用にコンパイルする。 

-g

「-g」

位置に依存しないコードを生成する。 

-KPIC

「-KPIC 」

位置に依存しないコードを生成する。 

-Kpic

「-Kpic」

マルチスレッドコード用のコンパイルとリンクを行う。 

-mt

「-mt」

コードのアドレス空間を指定する。 

-xcode=a

「-xcode=a」

データセグメントとテキストセグメントをマージする。 

-xMerge

「-xMerge」

デバッグオプション

デバッグオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

C++ インライン関数を展開しない。 

+d

「+d」

ドライバによって作成されるコマンドを表示するが、 コンパイルはしない。 

-dryrun

「-dryrun」

ソースファイルに対しプリプロセッサを実行するが、 コンパイルはしない。 

-E

「-E」

コンパイラオプションの要約を一覧表示する。 

-flags

「-flags」

デバッグ用にコンパルする。 

-g

「-g」

デバッグ用にコンパイルするが、インライン機能は無効にしない。 

-g0

「-g0」

インクルードされたファイルのパス名を出力する。 

-H

「-H」

コンパイラオプションの要約を一覧表示する。 

-help

「-help」

コンパイルで作成される一時ファイルを保存する。 

-keeptmp

「-keeptmp」

5.0 への移行に関する情報の参照先を表示する。 

-migration

「-migration」

ソースの前処理だけを行う。.i ファイルに出力する。

-P

「-P」

オプションをコンパイル中の各処理に直接渡す。 

-Qoption

「-Qoption phase option[,...option]」

README ファイルの内容を表示する。 

-readme

「-readme」

実行可能ファイルからシンボルテーブルを取り除く。 

-s

「-s」

一時ファイルのディレクトリを指定する。 

-temp=dir

「-temp=dir」

コンパイラのメッセージの詳細度を制御する。 

-verbose=vlst

「-verbose=v[,...v]」

インクリメンタルリンカーを無効にする。 

-xildoff

「-xildoff」

インクリメンタルリンカーを有効にする。 

-xildon

「-xildon」

オブジェクト (.o) ファイルなしに dbx でデバッグできるようにする。

-xs

「-xs」

WorkShop ソースコードブラウザ用のテーブル情報を 作成する。 

-xsb

「-xsb」

ソースブラウザ情報を作成するだけでコンパイルは しない。 

-xsbfast

「-xsbfast」

浮動小数点オプション

浮動小数点オプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

SPARC 非標準浮動小数点モードを有効または無効にする。 

-fns[=(no|yes)]

「-fns[=(no|yes)] 」

(x86)浮動小数点精度モードを設定する。

-fprecision=p

「-fprecision=p」

起動時に IEEE 丸めモードを有効にする。 

-fround=r

「-fround=r」

浮動小数点最適化の設定を行う。 

-fsimple=n

「-fsimple[=n]」

(x86) 浮動小数点式の精度を変換する。

-fstore

「-fstore」

起動時に IEEE トラップモードを有効にする。 

-ftrap=t

「-ftrap=t」

(x86) 浮動小数点式の精度を変換しない。

-nofstore

「-nofstore」

例外時に libm が数学ルーチンに対し IEEE 754 の値を返す。

-xlibmieee

「-xlibmieee」

言語オプション

言語オプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

コンパイラの主要リリースとの互換モードを設定する。 

-compat

「-compat[=(4|5)] 」

さまざまな C++ 言語機能を有効または無効にする。 

-features=alst

「-features=a[,...a]」

ライブラリオプション

ライブラリリンクオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

ライブラリのリンク形式が動的か静的かを指定する。 

-Bbinding

「-Bbinding」

実行可能ファイル全体に対し動的ライブラリを使用できるかどうか指定する。 

-d(y|n)

「-d(y|n)」

実行可能ファイルではなく動的共有ライブラリを構築する。 

-G

「-G」

生成される動的共有ライブラリに名前を割り当てる。 

-hname

「-hname」

ld(1) がどのような LD_LIBRARY_PATH 設定も 無視する。

-i

「-i」

dir に指定したディレクトリを、ライブラリの検索に使用するディレクトリとして追加する。

-Ldir

「-Ldir」

リンカーのライブラリ検索リストに liblib.a または liblib.so を追加する。

-llib

「-llib」

特定のライブラリとそれに対応するファイルをコンパイルとリンクに強制的に組み込む。 

-library=llst

「-library=l[,...l]」

マルチスレッドコード用のコンパイルとリンクを行う。 

-mt

「-mt」

ライブラリのパスを実行可能ファイルに組み込まない。 

-norunpath

「-norunpath」

共有動的ライブラリの検索パスを実行可能ファイルに組み込む。 

-R pathname

「-Rpathname」

静的にリンクする C++ ライブラリを指定する。 

-staticlib=llst

「-staticlib=l[,...l]」

アーカイブライブラリを作成する。 

-xar

「-xar」

例外時に libm が数学ルーチンに対し IEEE 754 の値を 返す。

-xlibmieee

「-xlibmieee」

最適化のために、選択された libm ライブラリルーチンをインライン展開する。

-xlibmil

「-xlibmil」

最適化された数学ルーチンを使用する。 

-xlibmopt

「-xlibmopt」

ライセンスを必要とするサン提供のライブラリとリンクする。 

-xlic_lib=llst

「-xlic_lib=l[,...l]」

デフォルトのシステムライブラリとのリンクを無効にする。 

-xnolib

「-xnolib」

コマンド行の -xlibmil を取り消す。

-xnolibmil

「-xnolibmil」

数学ルーチンライブラリを使用しない。 

-xnolibmopt

「-xnolibmopt」

書き込み不可で割り当て可能なセクションに対する 再配置が残っている場合には致命的エラーとする。 

-ztext

「-ztext」

ライセンスオプション

ライセンスオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

ライセンスの待ち行列化を無効にする。 

-noqueue

「-noqueue」

ライセンスを必要とするサン提供のライブラリと リンクする。 

-xlic_lib=llst

「-xlic_lib=l[,...l]」

ライセンスサーバー情報を表示する。 

-xlicinfo

「-xlicinfo」

廃止オプション

処理 

オプション 

詳細 

本文を参照。 

-vdelx

「-vdelx」

出力オプション

次に、出力オプションについてアルファベット順に要約します。

処理 

オプション 

詳細 

コンパイルのみ。オブジェクト (.o) ファイルを作成するが、リンクはしない。

-c

「-c」

コンパイラが呼び出すドライバに渡されるオプションを表示するが、コンパイルはしない。 

-dryrun

「-dryrun」

C++ ソースファイルに対しプリプロセッサを実行し、結果を stdout に出力するが、コンパイルはしない。

-E

「-E」

-help と同じ。

-flags

「-flags」

実行可能ファイルではなく動的共有ライブラリを 構築する。 

-G

「-G」

組み込むファイルのパス名を出力する。 

-H

「-H」

5.0 への移行に関する情報の参照先を表示する。 

-migration

「-migration」

出力ファイルや実行可能ファイルの名前を filename にする。

-o filename

「-o filename」

ソースの前処理だけを行い、.i ファイルに出力する。

-P

「-P」

CC ドライバが、型が sourcetype の出力を作成する。

-Qproduce sourcetype

「-Qproduce sourcetype」

README ファイルの内容を表示する。 

-readme

「-readme」

実行可能ファイルからシンボルテーブルを取り除く。 

-s

「-s」

コンパイラの冗長性を制御する。 

-verbose=vlst

「-verbose=v[,...v]」

必要に応じて追加の警告を出力する。 

+w

「+w」

警告メッセージを抑止する。 

-w

「-w」

メークファイルの依存情報を出力する。 

-xM

「-xM」

依存情報を生成するが、/usr/include は除く。

-xM1

「-xM1」

Sun WorkShop ソースコードブラウザ用のテーブル情報を作成する。 

-xsb

「-xsb」

ソースブラウザ情報を作成するだけでコンパイルは しない。 

-xsbfast

「-xsbfast」

コンパイル処理ごとの実行時間を報告する。 

-xtime

「-xtime」

ゼロ以外の終了状態を返すことによって、すべての警告をエラーに変換する。 

-xwe

「-xwe」

パフォーマンスオプション

パフォーマンスオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

最適な実行速度が得られるコンパイルオプションの組み合わせを選択する。 

-fast

「-fast」

実行可能ファイルからシンボルテーブルを取り除く。 

-s

「-s」

ターゲットのアーキテクチャ命令セットを指定する。 

-xarch=a

「-xarch=a」

(SPARC) オプティマイザのターゲットキャッシュ属性を定義する。

-xcache=c

「-xcache=c」

一般的な SPARC アーキテクチャ用のコンパイルを行う。 

-xcg89

「-xcg(89|92)」

SPARC V8 アーキテクチャ用のコンパイルを行う。 

-xcg92

「-xcg(89|92)」

ターゲットのプロセッサチップを指定する。 

-xchip=c

「-xchip=c」

リンカーによる関数の順序変更を有効にする。 

-xF

「-xF」

最適な速度を得るために指定のルーチンをインライン 展開する。 

-xinline=rlst

「-xinline=f[,...f]」

最適化のために、選択された libm ライブラリルーチンをインライン展開する。

-xlibmil

「-xlibmil」

(SPARC) 最適化された数学ルーチンライブラリを 使用する。

-xlibmopt

「-xlibmopt」

コマンド行の -xlibmil を取り消す。

-xnolibmil

「-xnolibmil」

数学ルーチンライブラリを使用しない。 

-xnolibmopt

「-xnolibmopt」

最適化レベルを level にする。

-xOlevel

「-xO[level]」

(SPARC) 一時レジスタの使用を制御する。

-xregs=r

「-xregs=r[,...r] 」

(SPARC) メモリーに関するトラップを起こさないものとする。

-xsafe=mem

「-xsafe=mem」

(SPARC) コードサイズを増やす最適化は行わない。

-xspace

「-xspace」

ターゲットの命令セットと最適化のシステムを指定する。 

-xtarget=t

「-xtarget=t」

可能であればループの最適化を行う。 

-xunroll=n

「-xunroll=n」

プリプロセッサオプション

プリプロセッサオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

シンボル name をプリプロセッサに定義する。

-Dname[=def]

「-Dname[=def]」

C++ ソースファイルに対しプリプロセッサを実行し、結果を stdout に出力するが、コンパイルはしない。

-E

「-E」

ソースの前処理だけを行い、.i ファイルに出力する。

-P

「-P」

プリプロセッサシンボル name の初期定義を削除する。

-Uname

「-Uname」

メークファイルの依存情報を出力する。 

-xM

「-xM」

依存情報を生成するが、/usr/include は除く。

-xM1

「-xM1」

プロファイルオプション

プロファイルオプションの要約についてアルファベット順に示します。

処理 

オプション 

詳細 

prof でプロファイル処理するためのデータを収集するオブジェクトコードを用意する。

-p

「-p」

プロファイル処理のためのコードを生成する。 

-xa

「-xa」

gprof プロファイラによるプロファイル処理用にコンパイルする。

-xpg

「-xpg」

実行時プロファイルデータを収集したり、このデータを使って最適化する。 

-xprofile=tcov

「-xprofile=p」

リファレンスオプション

次のオプションはコンパイラ情報を簡単に参照するためのものです。

処理 

オプション 

詳細 

コンパイラオプションの要約を一覧表示する。 

-flags

「-flags」

コンパイラオプションの要約を一覧表示する。 

-help

「-help」

5.0 への移行に関する情報の参照先を表示する。 

-migration

「-migration」

README ファイルの内容を表示する。 

-readme

「-readme」

ソースオプション

ソースオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

#include ファイルの検索パスに pathname を追加する。

-Ipathname

「-Ipathname」

メークファイル依存情報を出力する。 

-xM

「-xM」

依存情報を生成するが、/usr/include は除く。

-xM1

「-xM1」

テンプレートオプション

テンプレートオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

テンプレートインスタンスの位置とリンケージを 制御する。 

-instances=a

「-instances=a」

テンプレートソースの検索ディレクトリを追加 指定する。 

-ptipath

「-ptipath」

テンプレートリポジトリのディレクトリを指定する。 

-ptrdirectory

「-ptrdatabase-path」

いろいろなテンプレートオプションを有効または 無効にする。 

-template=w

「-template=w」

スレッドオプション

スレッドオプションの要約をアルファベット順に示します。

処理 

オプション 

詳細 

マルチスレッドコード用のコンパイルとリンクを行う。 

-mt 

「-mt」

(SPARC) メモリーに関するトラップを起こさないものとする。

-xsafe=mem

「-xsafe=mem」

オプション情報の構成

簡単に検索できるように、コンパイラオプションの情報の内容は、次の見出しに分かれています。オプションが他のオプションで置き換えられたり、他のオプションと同じである場合、詳細については他のオプション説明を参照してください。

見出し 

内容 

オプションの定義 

各オプションのすぐ後には短い定義があります (小見出しはありません)。 

値 

オプションに値がある場合は、その値を示します。 

デフォルト 

オプションに一次または二次のデフォルト値がある場合は、それを示します。 

一次のデフォルトとは、オプションが指定されなかったときに有効になるオプションの値です。たとえば、-compat を指定しないと、デフォルトは -compat=5 になります。

二次のデフォルトとは、オプションは指定されたが、値が指定されなかったときに有効になるオプションの値です。たとえば、値を指定せずに -compat を指定すると、デフォルトは -compat=4 になります。

展開 

オプションにマクロ展開がある場合は、ここに示します。 

例 

オプションの説明のために例が必要な場合は、ここに示します。 

相互の関連性 

他のオプションとの相互の関連性がある場合は、その関係をここに示します。たとえば「-xO が 3 より小さい場合は、-xinline オプションを使用すべきではありません」などです。

警告 

オプションの使用について注意がある場合はここに示します。予測できない動作の原因となる操作についてもここに示します。 

関連項目 

ここには、参考情報が得られる他のオプションや文書を示します。 

置き換え、同じ、使用などの言葉 

そのオプションが廃止され、他のもので置き換えられていたり、そのオプションの代わりに別のオプションを使用する方がよい場合は、置き換えるオプションを「置き換え」、「同じ」、「使用」などの言葉を使って示します。たとえば、「-xO で置き換えられています」や「-xO を使用してください」は -xO を使用すべきであることを意味します。このような指示のあるオプションは、将来のリリースでサポートされない可能性があります。

オプションが長いオプション名の省略形である場合は、その名前を「同じ」で示します。一般的な意味と目的が同じであるオプションが 2 つある場合は、望ましいオプションを示します。たとえば、「-xO と同じです」は、-xO が望ましいオプションであることを示します。