コマンド行におけるコンパイラー・オプションの指定

コマンド行で指定されたほとんどのオプションは、オプションのデフォルト設定と、構成ファイルのオプション・セットをオーバーライドします。同様に、コマンド行で指定されたほとんどのオプションは、プラグマ・ディレクティブによって逆にオーバーライドされ、ソース・ファイル中にコンパイラー・オプションを設定する手段を提供します。この方式に従わないオプションについては、『矛盾するコンパイラー・オプションの解決』にリストします。

コマンド行オプションには、次の 2 種類があります。

-q オプション


構文図

-qoption_keyword 書式のコマンド行オプションは、オン/オフ・スイッチと似ています。 ほとんどの -q オプションの場合、特定のオプションが複数回指定されると、そのオプションの中でコマンド行に最後に出現したものがコンパイラーによって認識されるオプションです。例えば、-qsource により、コンパイラー・リストを作成するソース・オプションをオンにします。次に、-qnosource により、ソース・オプションをオフにすると、ソース・リストは作成されません。例を以下に示します。

xlc -qnosource MyFirstProg.c -qsource MyNewProg.c

このように指定すると、 MyNewProg.cMyFirstProg.c の両方のソース・リストが作成されます。これは、(-qsource) と指定された最後の source オプションが優先されるからです。

同一コマンド行で、複数の -qoption_keyword インスタンスを指定することができますが、これらのインスタンスはブランクで分けなければなりません。オプション・キーワードは、大文字または小文字のいずれかで表示されますが、 -q は小文字で指定しなければなりません。ファイル名の前または後に、任意の -qoption_keyword を指定することができます。例を以下に示します。

xlc -qLIST -qfloat=nomaf file.c
xlc file.c -qxref -qsource

多くのコンパイラー・オプションを省略することもできます。例えば、-qopt を指定するのは、コマンド行で -qoptimize を指定するのと同等です。

オプションの中には、サブオプションを持つものがあります。 -qoption の次に等号を使用して、これらのサブオプションを指定します。オプションに複数のサブオプションを指定できる場合、コロン (:) で、各サブオプションを次のサブオプションから分けなければなりません。例を以下に示します。

xlc -qflag=w:e -qattr=full file.c

報告されるメッセージの重大度レベルを指定するために -qflag オプションを使用して、 C ソース・ファイルの file.c をコンパイルします。 -qflag サブオプション w (警告) はリストに関して報告される最低限の重大度レベルを設定し、サブオプション e (エラー) は端末に関して報告される最低限の重大度レベルを設定します。 full サブオプションを指定した -qflag オプション -qattr は、プログラム内のすべての ID の属性リストを作成します。

フラグ・オプション

Linux システムで使用できるコンパイラーは、多くの共通標準フラグ・オプションを使用します。 IBM XL C/C++ は、これらのフラグをサポートします。小文字のフラグは、対応する大文字フラグとは異なります。例えば、-c-C は、別々のコンパイラー・オプションです。-c は、コンパイラーがプリプロセスとコンパイルのみを行い、リンケージ・エディターを起動しないことを指定します。一方、-C は、ユーザー・コメントの保存を指定するために -P または -E とともに使用することができます。

IBM XL C/C++ は、他の Linux プログラミング・ツールおよびユーティリティー (例えば、Linux ld コマンド) に対するフラグもサポートします。コンパイラーは、リンク・エディット時に、ld に対するこれらのフラグの受け渡しを行います。

フラグ・オプションの中には、フラグの一部を形成する引き数を持つものがあります。例を以下に示します。

xlc stem.c -F/home/tools/test3/new.cfg:xlc

ここで、new.cfg はカスタム構成ファイルです。

1 つのストリングで引き数を指定しないフラグを指定することができます。例を以下に示します。

xlc -Ocv file.c

これは、以下の指定と同じ効果があります。

xlc -O -c -v file.c

そして、C ソース・ファイル file.c を最適化を指定して (-O) コンパイルし、コンパイラーの進行について報告します (-v) が、リンケージ・エディターは呼び出しません (-c)。

引き数を指定するフラグ・オプションは、単一ストリングの一部として指定することができます。しかし、引き数を指定する 1 フラグしか使用することができず、さらにこのフラグは指定される最後のオプションでなければなりません。例えば、 (実行可能ファイルの名前を指定するため) ほかのフラグと一緒に -o フラグを使用することができるのは、 -o オプションとその引き数が最後に指定されている場合のみです。例を以下に示します。

xlc -Ovo test test.c

これは、以下の指定と同じ効果があります。

xlc -O -v -otest test.c

ほとんどのフラグ・オプションは一文字ですが、中には二文字のものもあります。-pg (拡張プロファイル) を指定するのは -p -g (プロファイルの -p、およびデバッグ情報生成の -g) を指定するのと同じではないことに注意してください。該当する文字の組み合わせを使用する別のオプションがある場合、単一ストリングで複数のオプションを指定しないように注意してください。

関連概念

コンパイラー・オプション

関連タスク

コンパイラーの起動
プログラム・ソース・ファイル内のコンパイラー・オプションの指定
構成ファイル内のコンパイラー・オプションの指定
アーキテクチャー固有の (32 ビットまた は 64 ビットの) コンパイル用コンパイラー・オプションの指定
矛盾するコンパイラー・オプションの解決

関連参照

コンパイラーのコマンド行オプション IBM Copyright 2003