インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このセクションでは、コンパイラー・オプションの一般的な規則と、コンパイラー・オプション名の表記方法について説明します。
複数のオプションを 1 つのダッシュ (Linux* および macOS*) またはスラッシュ (Windows*) だけで指定することはできません。次に例を示します。
Linux* および macOS*: -wc (誤)、-w -c (正)
Windows*: /wc (誤)、/w /c (正)
すべてのコンパイラー・オプションは、大文字と小文字が区別されます。一部のオプションは、大文字と小文字では意味が異なります。例えば、"c" オプションはリンクを抑止しますが、"C" オプションは前処理済みのソース出力の中にコメントを書き込みます。
コマンドラインで指定されたオプションは、すべてのファイルに適用されます。
オプションの引数は、ファイル名、文字列、文字、または数字です。文字列に空白が含まれている場合、文字列を二重引用符 (") で囲む必要があります。次に例を示します。
Linux* および macOS* システムでは、-dynamic-linker mylink (ファイル名) または -Umacro3 (文字列) です。
Windows* システムでは、/Famyfile.s (ファイル名) または /V"version 5.0" (文字列) です。
コンパイラー・オプションは任意の順番で指定できます。
Windows* システムでは、すべてのコンパイラー・オプションはコマンドラインで /link オプションの前に指定しなければなりません (該当する場合)。
特定のオプションを指定しなければ、コマンドラインは指定されたファイルに対してコンパイルとリンクの両方を行います。
オプションを一意に識別できるだけの文字数を入力すれば、いくつかのオプション名は短縮可能です。
一部のオプションは、オプション名の後に 1 つ以上のキーワード引数を受け付けます。例えば、arch オプションは複数のキーワードを受け付けます。
通常、複数のキーワードを指定するには、そのオプションを複数回指定します。ただし、例外もあります。次のオプションは有効です: -axNB (Linux*) または /QaxNB (Windows*)。
コンパイラー・オプションは、コンパイラー・プラグマを使用して無効にしない限り、コンパイル全体で効果があります。
オプションを無効にするには、オプションの否定形を指定します。
Windows* システムでは、コマンドラインの最後に /Od を指定すると、1 つまたは複数の最適化オプションを無効にすることができます。
Windows* システムでは、/Od オプションは /Od、/O1、/O2、/O3、および /Ox を含む相互排他的なオプショングループの一部です。同じオプショングループのオプションを 2 つ以上指定した場合、コマンドラインで最後に指定したオプションが、その前に指定したオプションよりも優先されます。
コマンドライン上に、オプションを有効にするバージョンと無効にするバージョンの両方がある場合、最後に指定したバージョンが優先されます。
このドキュメントでは、次の表記規則に従ってコンパイラー・オプション名を略しています。
多くのオプション名は、Windows* では先頭に / が、Linux* および macOS* では先頭に - が付くことを除き、Linux*、macOS*、Windows* で同じです。このようなオプション名は、先頭の文字を省略して表します (例: check)。
多くのオプション名は、Windows* では先頭に Q が付くことを除き、Linux*、macOS*、Windows* で同じです。説明で、オプション名は [Q]option-name のように表示されています。
例えば、[Q]ip は、Linux* および macOS* では -ip、Windows* では /Qip となります。
いくつかのコンパイラー・オプション名は、Linux* および macOS* では先頭に q が、Windows* では先頭に Q が付くことを除き、Linux*、macOS*、Windows* で同じです。このようなオプション名は、[q または Q]option-name のように表します。
例えば、[q または Q]opt-report は、Linux* および macOS* では -qopt-report、Windows* では /Qopt-report となります。
似ていないコンパイラー・オプションはフルネームで表示されます。