-o

説明

コンパイラーによって作成されるオブジェクト・ファイル、アセンブラー・ファイル、 または実行可能ファイルの出力位置を指定する。 コンパイラー呼び出し中に -o オプションを 使用するときには、filespec をファイルかディレクトリーの いずれかの名前にすることができます。 リンケージ・エディターの直接呼び出し中に -o オプションを 使用するときには、filespec はファイルの名前にしかすることができません。

構文

構文図を読む構文図をスキップする>>- -o-- filespec----------------------------------------------><
 

-o をコンパイラー呼び出しの一部として 指定するときには、filespec を ディレクトリーまたはファイルの相対パス名か絶対パス名にすることができます。

  1. filespec がディレクトリーの名前である場合、 コンパイラーによって作成されるファイルはそのディレクトリーに置かれます。
  2. filespec という名前のディレクトリーが 存在しない場合は、-o オプションは、 コンパイラーによって作成されるファイルの名前を filespec と指定します。 例えば、以下のコンパイラー呼び出しでは、
    xlc test.c -c -o new.o
    test.o の代わりにオブジェクト・ファイル new.o が作成されます。そして、以下のコンパイラー呼び出しでは、
    xlc test.c -o new
    new という同じ名前を持つディレクトリーが存在しなければ、a.out の代わりにオブジェクト・ファイル new が作成されます。存在する場合は、デフォルトのオブジェクト名 a.out が使用されて、new ディレクトリーに入れられます。

    C または C++ のソース・ファイル・サフィックス (.C、.c、.cpp、または .i) を持つ filespec (myprog.cmyprog.i など) はエラーの結果となり、コンパイラーもリンケージ・エディターも呼び出されません。

    -c-o を一緒に使用して、 filespec がディレクトリーを指定していない場合は、 一度に 1 つのソース・ファイルしかコンパイルすることはできません。 この場合、 コンパイラー呼び出し時に複数のソース・ファイル名がリストされる場合、 コンパイラーは、警告メッセージを出して -o を無視します。

-E-P、 および -qsyntaxonly オプションは、 -ofilename オプションをオーバーライドします。

myaccount という名前のディレクトリーが存在しないと想定して、myprogram.c をコンパイルした結果、myaccount という名前のファイルを作成するには、以下のように入力します。

xlc myprogram.c -o myaccount

ディレクトリー myaccount が存在する場合は、コンパイラーは実行可能ファイル a.out を作成して、それを myaccount ディレクトリーに入れます。

関連情報