Oracle® Developer Studio 12.5: C++ ユーザーズガイド

印刷ビューの終了

更新: 2016 年 7 月
 
 

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

このセクションには、参照しやすいように、コンパイラオプションが機能別に分類されています。各オプションの詳細は、C++ コンパイラオプションを参照してください。

オプションは、特に記載がないかぎりすべてのプラットフォームに適用されます。SPARC ベースシステム上の Oracle Solaris OS に特有の機能は (SPARC) として識別され、x86 ベースシステム上の Oracle Solaris OS に特有の機能は (x86) として識別されます。

3.4.1 コード生成オプション

表 4  コード生成オプション
オプション
処理
-compat
コンパイラの互換モードを設定します。
-g
デバッグ用にコンパイルします。
-KPIC
位置に依存しないコードを生成します。
-Kpic
位置に依存しないコードを生成します。
-mt
マルチスレッド化したコードのコンパイルとリンクを行います。
-xaddr32
コードを 32 ビットアドレス空間に制限します (x86/x64)。
-xarch
ターゲットアーキテクチャーを指定します。
-xcode=a
(SPARC) コードのアドレス空間を指定します。
-xlinker
リンカーオプションを指定します。
-xMerge
(SPARC) データセグメントとテキストセグメントをマージします。
-xtarget
ターゲットシステムを指定します。
-xmodel
64 ビットオブジェクトの形式を x86 プラットフォーム用に変更します。
+w
意図しない結果が生じる可能性のあるコードを特定します。
+w2
+w で生成される警告に加え、おそらく問題がなくても、プログラムの移植性を低下させる可能性がある技術的な違反についての警告も生成します。
-xregs
コンパイラは、一時記憶領域として使用できるレジスタ (一時レジスタ) が多ければ、それだけ高速なコードを生成します。このオプションは、利用できる一時レジスタを増やしますが、必ずしもそれが適切であるとはかぎりません。
-xsegment_align
ドライバがリンク行で特殊なマップファイルをインクルードします。
-z arg
リンカーオプション。

3.4.2 コンパイル時パフォーマンスオプション

表 5  コンパイル時パフォーマンスオプション
オプション
処理
-instlib
指定ライブラリにすでに存在しているテンプレートインスタンスの生成を禁止します。
-m32|-m64
コンパイルされたバイナリオブジェクトのデータ型モデルを指定します。
-xinstrument
スレッドアナライザで分析するために、プログラムをコンパイルして計測します。
-xjobs
コンパイラが処理を行うために作成するプロセスの数を設定します。
-xpch
共通の一連のインクルードファイルを共有するソースファイルを持つアプリケーションのコンパイル時間を短縮できることがあります。
-xpchstop
-xpch でプリコンパイル済みヘッダーファイルを作成する際に考慮される最後のインクルードファイルを指定します。
-xprofile_ircache
(SPARC) -xprofile=collect で保存されたコンパイルデータを再使用します。
-xprofile_pathmap
(SPARC) 1 つのプロファイルディレクトリに存在する複数のプログラムや共有ライブラリをサポートします。

3.4.3 コンパイル時とリンク時のオプション

次の表は、リンク時とコンパイル時の両方に指定する必要があるオプションを一覧表示します。

表 6  コンパイル時とリンク時のオプション
オプション
処理
–fast
実行可能コードの速度を向上させるコンパイルオプションの組み合わせを選択します。
-fopenmp
-xopenmp=parallel と同等です。
–m32|–m64
コンパイルされたバイナリオブジェクトのデータ型モデルを指定します。
–mt
–-D_REENTRANT –-lthread に展開されるマクロオプションです。
-std
C++ の言語のバージョンと互換性モードを指定します。
–xarch
命令セットアーキテクチャーを指定します。
–xautopar
複数プロセッサ用の自動並列化を有効にします。
–xhwcprof
コンパイラのハードウェアカウンタによるプロファイリングのサポートを有効にします。
–xipo
内部手続き解析パスを呼び出すことにより、プログラム全体の最適化を実行します。
-xipo_build
最初の受け渡し時にコンパイラによって最適化せず、リンク時にのみ最適化することによって、コンパイルの時間を短縮します。
-xlinker
リンカーオプションを指定します
–xlinkopt
再配置可能なオブジェクトファイルのリンク時の最適化を実行します。
–xmemalign
(SPARC) メモリーの予想される最大境界整列と境界整列していないデータアクセスの動作を指定します。
–xopenmp
明示的な並列化のための OpenMP インタフェースをサポートします。これには、ソースコード指令のセット、実行時ライブラリルーチン、環境変数などが含まれます。
–xpagesize
スタックとヒープの優先ページサイズを設定します。
–xpagesize_heap
ヒープの優先ページサイズを設定します。
–xpagesize_stack
スタックの優先ページサイズを設定します。
-xpatchpadding
各関数を開始する前に、メモリー領域を予約します。
–xpg
gprof(1) でプロファイル処理するためのデータを収集するオブジェクトコードを用意します。
–xprofile
プロファイルのデータを収集、または最適化のためにプロファイルを使用します。
-xs
(Solaris) オブジェクトファイルのデバッグ情報を実行可能ファイルにリンクします。
–xvector=lib
ベクトルライブラリ関数の呼び出しの自動生成を有効にします。

3.4.4 デバッグオプション

表 7  デバッグオプション
オプション
処理
-###
-dryrun と同等です
+d
C++ インライン関数を展開しません。
-dryrun
コンパイルするすべてのコンポーネントに対してドライバが発行するすべてのコマンドを表示します。
-E
C++ ソースファイルにプリプロセッサのみを実行し、結果を stdout に送信します。コンパイルはしません。
-g
デバッグ用にコンパイルします。
-g0
デバッグ用にコンパイルしますが、インライン機能は無効にしません。
-H
インクルードされるファイルのパス名を出力します。
-keeptmp
コンパイル中に作成されたすべての一時ファイルを残します。
-P
ソースの前処理だけを行い、.i ファイルに出力します。
-preserve_argvalues
(x86) レジスタベースの関数の引数のコピーをスタックに保存します。
-Qoption
オプションをコンパイル中の各処理に直接渡します。
-s
実行可能ファイルからシンボルテーブルを取り除きます。
-temp
一時ファイルのディレクトリを定義します。
-verbose
コンパイラの冗長性を制御します。
-xanalyze
コードアナライザを使用して表示できるソースコードの静的分析を生成します。
-xcheck
スタックオーバーフローの実行時検査を追加します。
-xdebuginfo
発行するデバッグの詳細の量を指定して、デバッガで使用するためにコンパイルします。
-xdumpmacros
定義内容、定義および解除された位置、使用されている場所に関する情報を出力します。
-xe
構文と意味のエラーのチェックだけを行います。
-xglobalize
ファイルの静的変数のグローバル化を制御します (関数は制御しません)。
-xhelp=flags
コンパイラオプションのサマリーを一覧表示します。
-xkeep_unref
参照されない関数および変数の定義を維持します。
-xpatchpadding
各関数を開始する前に、メモリー領域を予約します。
-xprevise
コードアナライザを使用して表示できるソースコードの静的分析を生成します。
-xport64
32 ビットアーキテクチャーから 64 ビットアーキテクチャーへの移植中の一般障害について警告します。
-xs
(Solaris) オブジェクトファイルのデバッグ情報を実行可能ファイルにリンクします。

3.4.5 浮動小数点オプション

表 8  浮動小数点オプション
オプション
処理
-fma
浮動小数点の積和演算命令の自動生成を有効にします。
-fns[={no|yes}]
(SPARC) SPARC 非標準浮動小数点モードを有効または無効にします。
-fprecision=p
x86: 浮動小数点精度モードを設定します。
-fround=r
起動時に IEEE 丸めモードを有効にします。
-fsimple=n
浮動小数点最適化の設定を行います。
-fstore
x86: 浮動小数点式の精度を強制的に使用します。
-ftrap=tlst
起動時に IEEE トラップモードを有効に設定します。
-nofstore
x86: 強制された式の精度を無効にします。
-xlibmieee
例外時に libm が数学ルーチンに対し IEEE 754 値を返します。

3.4.6 言語オプション

表 9  言語オプション
オプション
処理
-compat
コンパイラの主要リリースとの互換モードを設定します。
-features=alst
C++ の各機能を有効化または無効化します。
-std
C++ の言語バージョンを指定します。
-xchar
文字型が符号なしと定義されているシステムからのコードの移行を容易に行えるようにします。
-xldscope
共有ライブラリをより速くより安全に作成するため、変数と関数の定義のデフォルトリンカースコープを制御します。
-xthreadvar
(SPARC) デフォルトのスレッドローカルな記憶装置へのアクセスモードを変更します。
-xtrigraphs
文字表記シーケンスを認識します。
-xustr
16 ビット文字で構成された文字リテラルを認識します。

3.4.7 ライブラリオプション

表 10  ライブラリオプション
オプション
処理
-Bbinding
ライブラリのリンク形式を、シンボリック、動的、静的のいずれかから指定します。
-d{y|n}
実行可能ファイル全体に対して動的ライブラリを使用できるかどうか指定します。
-G
実行可能ファイルではなく動的共有ライブラリを構築します。
-hname
生成される動的共有ライブラリに内部名を割り当てます。
-i
ld(1) がどのような LD_LIBRARY_PATH 設定も無視します。
-Ldir
dir に指定したディレクトリを、ライブラリの検索に使用するディレクトリとして追加します。
-llib
リンカーのライブラリ検索リストに liblib.a または liblib.so を追加します。
-library=llst
特定のライブラリとそれに対応するファイルをコンパイルとリンクに強制的に組み込みます。
-mt
マルチスレッド化したコードのコンパイルとリンクを行います。
-norunpath
ライブラリのパスを実行可能ファイルに組み込みません。
-Rplst
動的ライブラリの検索パスを実行可能ファイルに組み込みます。
-staticlib=llst
静的にリンクする C++ ライブラリを指定します。
-xar
アーカイブライブラリを作成します。
-xbuiltin[=opt]
標準ライブラリ呼び出しの最適化を有効または無効にします。
-xia
(Solaris) 適切な区間演算ライブラリをリンクし、浮動小数点環境を設定します。
-xlang=l[,l]
該当する実行時ライブラリをインクルードし、指定された言語に適切な実行時環境を用意します。
-xlibmieee
例外時に libm が数学ルーチンに対し IEEE 754 値を返します。
-xlibmil
最適化のために、選択された libm ライブラリルーチンをインライン展開します。
-xlibmopt
最適化された数学ルーチンライブラリを使用します。
-xnolib
デフォルトのシステムライブラリとのリンクを無効にします。
-xnolibmil
コマンド行の -xlibmil を取り消します。
-xnolibmopt
数学ルーチンのライブラリを使用しません。

3.4.8 廃止オプション


注 -  次のオプションは、現在は廃止されているためにコンパイラに受け入れられないか、将来のリリースではおそらく削除されます。
表 11  廃止オプション
オプション
処理
-features=[%all|%none]
%all%none は廃止されたサブオプションです。
-library=%all
将来のリリースでおそらく削除される廃止されたサブオプションです。
-migration
このオプションは認識されなくなりました。
-xanalyze
廃止。代わりに -previse を使用してください。
-xarch=v7,v8,v8a
廃止。
-xlic_lib=sunperf
Sun Performance Library にリンクするには、—library=sunperf を使用します。
-xlicinfo
非推奨。
-xnativeconnect
廃止。これに代わるオプションはありません。
-xprefetch=yes
代わりに - xprefetch=auto,explicit を使用します。
-xprefetch=no
代わりに -xprefetch=no%auto,no%explicit を使用します。
–xvector=yes
代わりに、–-xvector=lib を使用します。
–xvector=no
代わりに、–xvector=none を使用します。

3.4.9 出力オプション

表 12  出力オプション
オプション
処理
-c
コンパイルのみ。オブジェクト (.o) ファイルを作成しますが、リンクはしません。
-dryrun
ドライバによって発行されるすべてのコマンド行を表示しますが、それらのいずれも実行しません。
-E
C++ ソースファイルにプリプロセッサのみを実行し、結果を stdout に送信します。コンパイルはしません。
-erroff
コンパイラの警告メッセージを抑止します。
-errtags
各警告メッセージのメッセージタグを表示します。
-errwarn
指定の警告メッセージが出力されると、コンパイラはエラーステータスで終了します。
-filt
コンパイラがリンカーエラーメッセージに適用するフィルタリングを抑止します。
–G
実行可能ファイルではなく動的共有ライブラリを構築します。
–H
インクルードされるファイルのパス名を出力します。
-o filename
出力ファイルや実行可能ファイルの名前を filename にします。
–P
ソースの前処理だけを行い、.i ファイルに出力します。
–Qproduce sourcetype
CC ドライバに sourcetype (ソースタイプ) 型のソースコードを生成するよう指示します。
–s
実行可能ファイルからシンボルテーブルを取り除きます。
–verbose=vlst
コンパイラの冗長性を制御します。
+w
必要に応じて追加の警告を出力します。
+w2
該当する場合は、より多くの警告を出力します。
–w
警告メッセージを抑止します。
-xdumpmacros
定義内容、定義および解除された位置、使用されている場所に関する情報を出力します。
-xe
ソースファイルの構文と意味のチェックだけを行い、オブジェクトや実行可能コードは生成しません。
–xhelp=flags
コンパイラオプションのサマリーを一覧表示します。
–xM
メイクファイルの依存情報を出力します。
–xM1
依存情報を生成しますが、/usr/include は除きます。
–xtime
コンパイル処理ごとの実行時間を報告します。
–xwe
すべての警告をエラーに変換します。
-z arg
リンカーオプション。

3.4.10 実行時パフォーマンスオプション

表 13  実行時パフォーマンスオプション
オプション
処理
–fast
一部のプログラムで最適な実行速度が得られるコンパイルオプションの組み合わせを選択します。
-fma
浮動小数点の積和演算命令の自動生成を有効にします。
-g
パフォーマンスの解析 (およびデバッグ) に備えてプログラムを用意するようにコンパイラとリンカーの両方に指示します。
-s
実行可能ファイルからシンボルテーブルを取り除きます。
-m32|-m64
コンパイルされたバイナリオブジェクトのデータ型モデルを指定します。
-xalias_level
コンパイラで、型に基づく別名の解析および最適化を実行するように指定します。
-xarch=isa
ターゲットのアーキテクチャー命令セットを指定します。
-xbinopt
あとで最適化、変換、分析を行うために、バイナリを準備します。
-xbuiltin[=opt]
標準ライブラリ呼び出しの最適化を有効または無効にします。
-xcache=c
(SPARC) オプティマイザのターゲットキャッシュプロパティーを定義します。
-xchip=c
ターゲットのプロセッサチップを指定します。
-xdebuginfo
パフォーマンスの解析 (およびデバッグ) に備えてプログラムを用意するようにコンパイラとリンカーの両方に指示します。
-xF
リンカーによる関数と変数の順序変更を有効にします。
-xinline=flst
どのユーザーが作成したルーチンをオプティマイザでインライン化するかを指定します。
-xinline_param
コンパイラが関数呼び出しをインライン化するタイミングを判断するために使用するヒューリスティックを手動で変更します。
-xinline_report
コンパイラによる関数のインライン化に関する報告を生成し、標準出力に書き込みます。
-xipo
内部手続きの最適化を実行します。
-xipo_build
最初の受け渡し時にコンパイラによって最適化せず、リンク時にのみ最適化することによって、コンパイルの時間を短縮します。
-xlibmil
最適化のために、選択された libm ライブラリルーチンをインライン展開します。
-xlibmopt
最適化された数学ルーチンライブラリを使用します。
-xlinkopt
オブジェクトファイル内のあらゆる最適化のほかに、結果として出力される実行可能ファイルや動的ライブラリのリンク時最適化も行います。
-xmemalign=ab
(SPARC) メモリーの予想される最大境界整列と境界整列していないデータアクセスの動作を指定します。
-xnolibmil
コマンド行の -xlibmil を取り消します。
-xnolibmopt
数学ルーチンのライブラリを使用しません。
-xOlevel
最適化レベルを level にします。
-xpagesize
スタックとヒープの優先ページサイズを設定します。
-xpagesize_heap
ヒープの優先ページサイズを設定します。
-xpagesize_stack
スタックの優先ページサイズを設定します。
-xprefetch[=lst]
先読みをサポートするアーキテクチャーで先読み命令を有効にします。
-xprefetch_level
-xprefetch=auto を設定したときの先読み命令の自動挿入を制御します。
-xprofile
実行時プロファイルデータを使って収集または最適化を実行します。
-xregs=rlst
一時レジスタの使用を制御します。
-xsafe=mem
(SPARC) メモリーに関するトラップを起こさないものとします。
-xsegment_align
ドライバがリンク行で特殊なマップファイルをインクルードします。
-xspace
(SPARC) コードサイズが大きくなるような最適化は行いません。
-xtarget=t
ターゲットの命令セットと最適化のシステムを指定します。
-xthreadvar
デフォルトのスレッドローカル記憶装置アクセスモードを変更します。
-xthroughput
システム上で多数のプロセスが同時に実行されている状況でアプリケーションが実行されることを指定します。
-xunboundsym
動的に結合されているシンボルへの参照がプログラムに含まれているかどうかを指定します。
-xunroll=n
可能な場合は、ループを展開します。
-xvis
(SPARC) VIS 命令セットに定義されているアセンブリ言語テンプレートをコンパイラが認識します。

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

表 14  プリプロセッサオプション
オプション
処理
-Dname[=def]
シンボル name をプリプロセッサに定義します。
-E
C++ ソースファイルにプリプロセッサのみを実行し、結果を stdout に送信します。前処理された行のソースに関する情報をインクルードします。コンパイルはしません。
-H
インクルードされるファイルのパス名を出力します。
-P
ソースの前処理だけを行い、.i ファイルに出力します。
-Uname
プリプロセッサシンボル name の初期定義を削除します。
-xM
メイクファイルの依存情報を出力します。
-xM1
依存情報を生成しますが、/usr/include は除きます。

3.4.12 プロファイリングオプション

表 15  プロファイリングオプション
オプション
処理
-p
prof でプロファイル処理するためのデータを収集するオブジェクトコードを用意します。
-xpg
gprof プロファイラによるプロファイル処理用にコンパイルします。
-xprofile
実行時プロファイルデータを使って収集または最適化を実行します。

3.4.13 リファレンスオプション

表 16  リファレンスオプション
オプション
処理
-xhelp=flags
コンパイラオプションのサマリーを一覧表示します。

3.4.14 ソースオプション

表 17  ソースオプション
オプション
処理
-H
インクルードされるファイルのパス名を出力します。
-Ipathname
include ファイル検索パスに pathname を追加します。
-I-
インクルードファイル検索規則を変更します。
-xM
メイクファイルの依存情報を出力します。
-xM1
依存情報を生成しますが、/usr/include は除きます。

3.4.15 テンプレートオプション

表 18  テンプレートオプション
オプション
処理
-instances=a
テンプレートインスタンスの位置とリンケージを制御します。
-template=wlst
さまざまなテンプレートオプションを有効または無効にします。

3.4.16 スレッドオプション

表 19  スレッドオプション
オプション
処理
-mt
マルチスレッド化したコードのコンパイルとリンクを行います。
-xsafe=mem
(SPARC) メモリーに関するトラップを起こさないものとします。
-xthreadvar
(SPARC) デフォルトのスレッドローカルな記憶装置へのアクセスモードを変更します。