コンパイラー・オプションの指定

コンパイラー・オプションはコンパイラー特性の設定、作成されるオブジェクト・コードやコンパイラー出力の記述、幾つかのプリプロセッサー機能の実行など、幅広い種類の機能を実行します。 コンパイラー・オプションは、次の 1 つ以上の方法で指定することができます。

上記の方法で明示的に設定されていないほとんどのコンパイラー・オプションについては、コンパイラーはデフォルトの設定値を想定します。

コンパイラー・オプションを指定した場合、 オプションの矛盾や非互換が起きる可能性があります。 XL C/C++ はこれらの矛盾や非互換のほとんどを、以下のように一貫性した方法で解決します。

多くの場合、コンパイラーは以下の順序で、矛盾または非互換のオプションを解決します。

  1. ソース・コード内のプラグマ・ステートメントは、コマンド行で指定された コンパイラー・オプションをオーバーライドします。
  2. コマンド行に指定されたコンパイラー・オプションは、構成ファイルに指定されたコンパイラー・オプションをオーバーライドします。 同じコマンド行のコンパイラー呼び出しに、矛盾または非互換のコンパイラー・オプションが指定された場合は、その呼び出しの後の方に出現するオプションが優先されます。
  3. 構成ファイル、コマンド行、またはソース・プログラムに指定されたコンパイラー・オプションは、コンパイラーのデフォルト設定をオーバーライドします。

この優先順序に従わないオプションの矛盾については、矛盾するコンパイラー・オプションの解決で説明します。