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 が望ましいオプションであることを示します。