標準のコンパイラオプション形式は次のとおりです。
表 3–1 オプションの構文
構文形式 |
例 |
---|---|
-flag |
-g |
-flagvalue |
-Dnostep |
-flag=value |
-xunroll=4 |
-flag value |
-o outfile |
次の表記規則に従って、オプションを説明しています。
表 3–2 オプションの表記規則
記法 |
意味 |
例: テキスト/インスタンス |
---|---|---|
[ ] |
角括弧は、省略可能な引数を表します。 |
-O[n] -O4, -O |
{ } |
中括弧は、必須の引数を表します。 |
-d{y|n} -dy |
| |
「パイプ」または「バー」と呼ばれる記号は、その中から 1 つだけを選択可能な複数の引数を区切ります。 |
-B{dynamic|static} -Bstatic |
: |
コロンは、コンマ同様に複数の引数を区切るために使用されることがあります。 |
-Rdir[: dir] -R/local/libs:/U/a |
… |
省略記号は、連続するものの一部が省略されていることを示します。 |
-xinline=f1[ ,…fn] -xinline=alpha,dos |
括弧、縦棒、省略符号は、オプションを記述するために使用している記号で、オプション自体の一部ではありません。
オプションの一般的な規則を次に示します。
-lx は libx .a ライブラリにリンクするためのオプションです。-lx は必ずファイル名リストのあとに指定して、ライブラリの検索順序が保たれるようにしてください。
通常、コンパイラオプションは左から右の順序で処理されます。このため、マクロのオプション (別のオプションを含むオプションも) を意図的に上書きすることができます。これはリンカーオプションには当てはまりません。ただし、オプションが同じコマンド行で繰り返される場合は、-I、-L、-R などは以前に指定した値を上書きせずに、順番に処理します。
-xhasc[ ={yes|no}] などの複数の選択肢リストの最初の選択肢は、コマンド行に値なしでオプションのフラグが指定された場合に適用される値です。たとえば -xhasc は -xhasc=yes と指定するのと同じことです。
ソースファイル、オブジェクトファイル、およびライブラリは、コマンド行に指定した順にコンパイルとリンクが行われます。