このセクションでは、Windows* オペレーティング・システムおよび Linux* オペレーティング・システムで使用されるコンパイラー・オプションの対応表を提供します。
次のラベルが示されたコンパイラー・オプションは、特定のシステムでのみ利用可能です。
ラベル | 意味 |
---|---|
i32 | IA-32 アーキテクチャー・ベースのシステムで利用可能なオプションです。 |
i64em | インテル(R) 64 アーキテクチャー・ベースのシステムで利用可能なオプションです。 |
i64 | IA-64 アーキテクチャー・ベースのシステムで利用可能なオプションです。 |
ラベルがない場合、そのオプションはサポートされているすべてのシステムで利用可能です。
ラベルに "のみ" とある場合、そのオプションはラベルで示されたシステムでのみ利用可能です。
オプションについての詳細は、「コンパイラー・オプション (アルファベット順)」を参照してください。
この表で使用されている表記については、「表記規則」を参照してください。
インテル(R) C++ コンパイラーには、インテル(R) コンパイラー・オプション・マッピング・ツールが含まれています。このツールで Windows オプションと Linux オプションを比較 ("マップ") することができます。
次の対応表は、Linux 版のコンパイラー・オプション ("Linux オプション" 欄) をアルファベット順に記載しています。
Linux オプション | Windows で相当するオプション | 説明 |
---|---|---|
-[no-]alias-args | /Qalias-args[-] | 関数の引数がエイリアスされる C/C++ 規則を有効 (デフォルト)/無効にします。 |
-[no-]ansi-alias | /Qansi-alias[-] | 最適化で ANSI 準拠の別名規則の使用を有効/無効 (デフォルト) にします。 |
-[no-]complex-limited-range | /Qcomplex-limited-range[-] | 一部の複素数算術演算で、基本代数展開の使用を有効/無効 (デフォルト) にします。 |
-[no]debug [keyword] | /[no]debug[:keyword] | デバッグ情報を有効にし、拡張デバッグ情報の出力を制御します。 |
-[no-]fnsplit | /Qfnsplit[-] | 関数分割を有効/無効にします (-prof-use で有効にします)。 |
-[no-]ftz | /Qftz[-] | デノーマル結果の 0 へのフラッシュを有効/無効にします。 |
-[no-]global-hoist | /Qglobal-hoist[-] | 外部グローバルの安全なロードを有効 (デフォルト)/無効にします。 |
-[no-]IPF-fltacc | /QIPF-fltacc[-] | 浮動小数点の精度に影響を与える最適化を有効/無効にします。 |
-[no-]IPF-fma | /QIPF-fma[-] | 浮動小数点乗算と加算/減算の組み合わせを有効/無効にします。 |
-[no-]IPF-fp-relaxed | /QIPF-fp-relaxed[-] | 算術関数について、より高速で少し精度が低いコードシーケンスを有効/無効にします。 |
-[no-]multibyte-chars | /Qmultibyte-chars[-] | マルチバイト文字のサポートを制御します。 |
-[no-]prec-div | /Qprec-div[-] | 浮動小数点除算の精度を上げます (速度に多少影響します)。 |
-[no-]prec-sqrt | /Qprec-sqrt[-] | 平方根計算の精度を上げる特定の最適化を行うかどうかを指定します。 |
-[no-]prefetch | /Qprefetch[-] | プリフェッチ挿入を有効 (デフォルト)/無効にします。 |
-[no]restrict | /Qrestrict[-] | ポインターの一義化ができるように 'restrict' キーワードを有効/無効にします。 |
-[no-]sox | /Qsox[-] | コンパイラーのオプションとバージョン情報を実行ファイルに保存します/ 保存しません (デフォルト)。 |
-[no]traceback | /traceback | ランタイム時のソースファイルのトレースバック情報を表示できるデータをコンパイラーが生成するかどうかを指定します。 |
-A- | /QA[-] | すべての事前定義マクロを削除します。 |
-A<name>[(val)] | /QA<name>[(val)] | val という値を持つアサーション名を作成します。 |
-ansi | /Za | GNU -ansi と同じです。 |
-auto-ilp32 | /Qauto-ilp32 | 32 ビット・アドレス空間を超えることができないアプリケーションを指定します (-ipo[n] オプションも指定する必要があります)。 |
-ax<codes> | /Qax<codes> | <codes> に指定されたプロセッサー固有のコードを生成するとともに、汎用 IA-32 コードも生成します。 |
-C | /C | コメントを削除しません。 |
-c | /c | オブジェクト・ファイル (.o) までコンパイルします。リンクは行われません。 |
-create-pch <file> | /Yc[hfile] | プリコンパイル済みヘッダーファイルを作成します。 |
-D<name>[=<text>] | /D<name>[{=|#}<text>] | マクロを定義します。 |
-dM | /QdM | 前処理を行った後に有効なマクロ定義を出力します (-E とともに使用します)。 |
-E | /E | 前処理の結果を stdout に出力します。 |
-EP | /EP | #line 宣言子を省いて、前処理の結果を stdout に出力します。 |
-falias | /Oa | プログラムでエイリアシングを前提に処理します (デフォルト)。 |
-fargument-alias | /Qalias-args | -alias-args と同じです。 |
-fargument-noalias | /Qalias-args- | -alias-args- と同じです。 |
-fast | /fast | -xP -O3 -ipo -no-prec-div -static を有効にします。 |
-fcode-asm | /FAc | コード注釈を含むアセンブリー・ファイルを生成します (-S も指定する必要があります)。 |
-fdata-sections | /Gy | -ffunction-sections と同じです。 |
-ffnalias | /Ow | 関数内でのエイリアシングを前提に処理します (デフォルト)。 |
-ffunction-sections | /Gy | リンカーに対して関数をパッケージ化します (COMDAT)。 |
-fno-alias | /Oa- | プログラムでエイリアシングしないことを前提に処理します。 |
-fno-builtin | /Oi- | 組み込み関数のインライン展開を無効にします。 |
-fno-fnalias | /Ow- | 関数内でエイリアシングしないことを前提に処理しますが、複数の呼び出しにわたる場合はエイリアシングを前提に処理します。 |
-fno-rtti | /GR- | RTTI サポートを無効にします。 |
-fp | /Oy- | EBP の汎用レジスターとしての使用を無効にします。 |
-fp-port | /Qfp-port | 代入とキャストの際に、fp の結果を丸めます (速度に少し影響があります)。 |
-fpstkchk | /Qfpstkchk | 各関数/プロシージャー呼び出しの後に fp スタックチェックを有効にします。 |
-fsource-asm | /FAs | ソース注釈を含むアセンブリー・ファイルを作成します。 |
-fstack-security-check | /GS | オーバーフロー・セキュリティー・チェックを有効にします。 |
-fsyntax-only | /Zs | 構文チェックとセマンティクス・チェックのみ行います (オブジェクト・ファイルは生成されません)。 |
-ftemplate-depth-<n> | /Qtemplate-depth<n> | 再帰テンプレートが展開される深さを制御します。 |
-ftrapuv | /Qtrapuv | 初期化されていない変数をトラップします。 |
-funroll-loops | /Qunroll | デフォルトのヒューリスティックに基づいてループをアンロールします。 |
-funsigned-char | /J | デフォルトの char 型を unsigned に変更します。 |
-H | /QH | インクルード・ファイルの順番を出力します。 |
-help | /help | ヘルプメッセージを出力します。 |
-I<dir> | /I<dir> | インクルード・ファイルの検索パスにディレクトリーを追加します。 |
-inline-debug-info | /Qinline-debug-info | 呼び出しサイトのソース位置をインライン展開されたコードに割り当てる代わりに、インライン展開されたコードのソース位置を保持します。 |
-ip | /Qip | シングルファイル IPO を有効にします (複数ファイル内)。 |
-IPF-flt-eval-method0 | /QIPF-flt-eval-method0 | プログラムにより指定された精度で浮動小数点オペランドが評価されます。 |
-IPF-fp-speculation<mode> | /QIPF-fp-speculation<mode> | 次の <mode> 条件で浮動小数点のスペキュレーションを有効にします。 |
-ip-no-inlining | /Qip-no-inlining | 全体または部分的なインライン展開を無効にします (-ip または -ipo が必要です)。 |
-ip-no-pinlining | /Qip-no-pinlining | 部分的なインライン展開を無効にします (-ip または -ipo が必要です)。 |
-ipo[n] | /Qipo[n] | マルチファイル IPO を有効にします (複数ファイル間)。 |
-ipo-c | /Qipo-c | マルチファイル・オブジェクト・ファイル (ipo_out.o) を生成します。 |
-ipo-S | /Qipo-S | マルチファイル・アセンブリー・ファイル (ipo_out.s) を生成します。 |
-ipo-separate | /Qipo-separate | ソースファイルごとに 1 つのオブジェクト・ファイルを作成します。 |
-ivdep-parallel | /Qivdep-parallel | ivdep 宣言子にループ運搬の依存がないことを示します。 |
-Kc++ | /TP | ソースファイルも、認識できないファイルも、すべて C++ ソースファイルとしてコンパイルします。 |
-long_double | /Qlong-double | 80 ビット長の long double 型を有効にします。 |
-M | /QM | makefile の依存情報を生成します。 |
-map-opts | /Qmap-opts | オプション・マッピング・ツールを有効にします。 |
-MD | /MD、/MDd | 前処理とコンパイルを行い、依存情報が含まれている出力ファイル (拡張子 .d) を生成します。 |
-MF<file> | /QMF<file> | makefile の依存情報を生成します (-M または -MM を指定する必要があります)。 |
-MG | /QMG | -M と類似していますが、見つからないヘッダーファイルを、生成したファイルとして処理します。 |
-MM | /QMM | -M と類似していますが、システム・ヘッダー・ファイルをインクルードしません。 |
-MMD | /QMMD | -MD と類似していますが、システム・ヘッダー・ファイルをインクルードしません。 |
-mp | /Op[-] | 浮動小数点の精度を維持します (一部の最適化を無効にする必要があります)。 |
-mp1 | /Qprec | 浮動小数点の精度を上げます (速度に与える影響は -mp よりも低いです)。 |
-MQ<target> | /QMQ<target> | -MT と同じですが、特殊文字 Make を引用符で囲みます。 |
-MT<target> | /QMT<target> | 依存性の生成に対してデフォルトのターゲット規則を変更します。 |
-nobss-init | /Qnobss-init | BSS への 0 で初期化された変数の配置を無効にします (DATA を使用)。 |
-nostdinc | /X | -X と同じです。 |
-O | /O2 | -O2 と同じです。 |
-o<file> | /Fe<file> | 出力ファイルに名前を付けます。 |
-O0 | /Od | 最適化を禁止します。 |
-O1 | /O1 | 処理速度について最大限に最適化しますが、速度が上がらないわりにコードサイズが増える一部の最適化機能については無効にします。 |
-O2 | /O2 | 最適化を有効にします (デフォルト) |
-O3 | /O3 | -O2 の最適化に加え、さらに強力な最適化 (すべてのプログラムのパフォーマンスが向上するとは限りません) を有効にします。 |
-Ob<n> | /Ob<n> | インライン展開を制御します。 |
-openmp | /Qopenmp | OpenMP* 宣言子に基づいてコンパイラーがマルチスレッド・コードを生成できるようにします。 |
-openmp-profile | /Qopenmp-profile | インストルメント済みの OpenMP ランタイム・ライブラリーにリンクして、OpenMP プロファイリング情報を生成します。 |
-openmp-report{0|1|2} | /Qopenmp-report{0|1|2} | OpenMP パラレライザーの診断レベルを制御します。 |
-openmp-stubs | /Qopenmp-stubs | シーケンシャル・モードで OpenMP プログラムのコンパイルを有効にします。 |
-opt-report | /Qopt-report | 最適化レポートを生成して、stderr に送ります。 |
-opt-report-file<file> | /Qopt-report-file<file> | 生成されたレポートのファイル名を指定します。 |
-opt-report-help | /Qopt-report-help | レポートで利用可能な最適化フェーズを表示します。 |
-opt-report-level[level] | /Qopt-report-level[level] | レポートの詳細レベルを指定します (min|med|max)。 |
-opt-report-phase<name> | /Qopt-report-phase<name> | レポートを生成するフェーズを指定します。 |
-opt-report-routine<name> | /Qopt-report-routine<name> | 指定された名前を含むルーチンを対象にレポートを作成します。 |
-Os | /Os | 処理速度について最適化しますが、速度が上がらないわりにコードサイズが増える一部の最適化機能については無効にします。 |
-P、-F | /P | #line 宣言子を省いて、前処理の結果を stdout に出力します。 |
-parallel | /Qparallel | 自動並列化を有効にして、並列で安全に実行できるループのマルチスレッド・コードを生成します。 |
-par-report{0|1|2|3} | /Qpar-report{0|1|2|3} | 自動パラレライザーの診断レベルを制御します。 |
-par-threshold[n] | /Qpar-threshold[n] | 並列実行が効果的である可能性に基づいてループの自動並列化のしきい値を設定します。n は 0 から 100 までの範囲の整数です。 |
-pc32 | /Qpc32 | 内部 FPU 精度を 24 ビットの仮数に設定します。 |
-pc64 | /Qpc64 | 内部 FPU 精度を 53 ビットの仮数に設定します。 |
-pc80 | /Qpc80 | 内部 FPU 精度を 64 ビットの仮数に設定します (デフォルト)。 |
-pch | /YX | プリコンパイル済みヘッダーファイルの生成と使用を自動化します。 |
-prof-dir <d> | /Qprof-dir <d> | 出力ファイル (*.dyn および *.dpi) のプロファイリングに使用するディレクトリーを指定します。 |
-prof-file <f> | /Qprof-file <f> | プロファイルのサマリーファイルにファイル名を指定します。 |
-prof-gen[x] | /Qprof-gen[x] | プロファイリング用にプログラムをインストルメントします。 |
-prof-gen-sampling | /Qprof-gen-sampling | サンプル収集ツールで使用するためのコードを準備します。 |
-prof-use | /Qprof-use | 最適化中にプロファイリング情報が使用できるようにします。 |
-Qlocation,<str>,<dir> | /Qlocation,<str>,<dir> | <str> で指定したツールの場所として <dir> を設定します。 |
-Qoption,<str>,<opts> | /Qoption,<str>,<opts> | <str> で指定したツールに <opts> オプションを渡します。 |
-rcd | /Qrcd | 浮動小数点から整数への高速変換を行うための丸めモードです。 |
-S | /S | アセンブリー (.s) までコンパイルします。リンク (*I) を行いません。 |
-ssp | /Qssp | ソフトウェア・ベースのスペキュレーティブ・プリコンピュテーションを有効にします。 |
-strict-ansi | /Za | ANSI 規格に厳密に準拠している言語方言を選択します。 |
-tcheck | /Qtcheck | マルチスレッドの不具合を検出するためのインストルメンテーションを生成します。 |
-U<name> | /U<name> | 事前定義済みマクロを削除します。 |
-unroll [n] | /Qunroll[n] | ループのアンロール回数の上限を設定します。 |
-unroll 0 | /Qunroll0 | ループのアンロールを無効にします。 |
-unroll[n] | /Qunroll[n] | ループのアンロール回数の上限を設定します。 |
-unroll0 | /Qunroll0 | ループのアンロールを無効にします。 |
-use-asm | /Quse-asm[-] | アセンブラーからオブジェクト・ファイルを生成します。 |
-use-pch <file> | /Yu[hfile] | プリコンパイル済みヘッダーファイルを使用します。 |
-V | /QV | コンパイラーのバージョン情報を表示します。 |
-vec-report[n] | /Qvec-report[n] | ベクトライザーの診断情報の量を指定します。 |
-w | /w | 警告メッセージを全く表示しません。 |
-Wall | /Wall | 警告メッセージをすべて表示します。 |
-Wbrief | /WL | 1 行の簡単な診断を表示します。 |
-Wcheck | /Wcheck | より厳密な診断を有効にします。 |
-Wcontext-limit=<n> | /Qcontext-limit<n> | 診断メッセージに示されるテンプレートのインスタンス化コンテキストの上限を設定します。 |
-wd<L1>[,<L2>,...] | /Qwd<L1>[,<L2>,...] | L1 から LN までの診断結果を無効にします。 |
-we<L1>[,<L2>,...] | /Qwe<L1>[,<L2>,...] | L1 から LN までの診断結果の重要度をエラーに変更します。 |
-Werror | /WX | 警告をエラーと見なします。 |
-wn<n> | /Qwn<n> | 最大 n エラーを出力します。 |
-Wp64 | /Wp64 | 64 ビット・ポーティングの診断結果を出力します。 |
-wr<L1>[,<L2>,...] | /Qwr<L1>[,<L2>,...] | L1 から LN までの診断結果の重要度をリマークに変更します。 |
-ww<L1>[,<L2>,...] | /Qww<L1>[,<L2>,...] | L1 から LN までの診断結果の重要度を警告に変更します。 |
-X | /X | インクルード・ファイルの検索パスから標準ディレクトリーを除外します |
-x<codes> | /Qx<codes> | <codes> で指定されたプロセッサー上でのみ動作する専用コードを生成します。 |
-Zp[n] | /Zp[n] | アライメント条件を指定します (n=1、2、4、8、16)。 |