コンパイラー・オプションは、広範囲の種類の関数を実行します。例えば、コンパイラー特性の設定、オブジェクト・コードおよび作成されるコンパイラー出力の記述、いくつかのプリプロセッサー関数の実行などです。以下の 3 つの方法のいずれかを使用してコンパイラー・オプションを指定することができます。
- コマンド行で
- 構成ファイル (.cfg) で
- ソース・プログラム内で
上記の方法で明示的に設定されていないコンパイラー・オプションのほとんどについて、コンパイラーはデフォルト設定されているものと見なします。
コンパイラー・オプションを指定した場合、オプションの矛盾や非互換が起きる可能性があります。 XL C/C++ は、これらの矛盾や非互換のほとんどを、一貫したやり方で以下のとおり解決します。
多くの場合、コンパイラーは、以下の順序で、対立するオプションまたは矛盾するオプションを解決します。
- ソース・コード内のプラグマ・ステートメントは、コマンド行で指定されたコンパイラー・オプションをオーバーライドします。
- コマンド行に指定されるコンパイラー・オプションは、構成ファイルに指定されたコンパイラー・オプションをオーバーライドします。対立または競合するコンパイラー・オプションが、同じコマンド行コンパイラー呼び出しに指定されている場合、その呼び出しの後のほうに指定されているオプションが優先されます。
- 構成ファイルに指定されるコンパイラー・オプションは、コンパイラーのデフォルト設定をオーバーライドします。
この優先順位に従わないオプション競合については、矛盾するコンパイラー・オプションの解決で説明します。
コンパイラーの起動
コンパイラー・オプションの指定
矛盾するコンパイラー・オプションの解決