ifort コマンドによって生成される出力は以下のとおりです:
コマンドラインで -c オプションを指定した場合、オブジェクト・ファイル (test.o など) が生成されます。オブジェクト・ファイルは、各ソースファイルごとに作成されます。
-c オプションを省略した場合、実行ファイル (a.out など) が生成されます。
ソースファイルに MODULE 文が 1 つまたはそれ以上ある場合、1 つまたはそれ以上のモジュール・ファイル (datadef.mod など) が生成されます。
-shared オプションを使用した場合、共有ライブラリ (mylib.soなど) が生成されます。
これらのファイルを生成するかどうかは、コマンドラインで適切なオプションを指定することで制御できます。
-c オプションが指定されていない場合、コンパイラによって各ソースファイルごとに一時オブジェクト・ファイルが生成されます。次に、リンカが起動され、オブジェクト・ファイルを 1 つの実行プログラム・ファイルにリンクし、最後に一時オブジェクト・ファイルを削除します。
-c オプションを指定した場合は、オブジェクト・ファイルが作成され、作業ディレクトリに保持されます。この場合、後でオブジェクト・ファイルを別の ifort コマンドからリンクする必要があります。この方法は、make コマンドで makefile を処理してコンパイルする方法のように、大きなアプリケーションを増分コンパイルするときに役立ちます。
コンパイルの途中で致命的なエラーが発生する場合、または -c などの特定のオプションを指定した場合、リンクは行われません。
注
プログラム全体のすべてのオブジェクトをコンパイルするには、-ipo オプションを使用します。
実行プログラム・ファイル名を指定するには (a.out 以外の名前を指定する場合)、-o output オプションを使用します (output にはファイル名を指定します)。次のコマンドは、ソースファイル名 test1.f に対してファイル名 prog1.out を指定します:
ifort -o prog1.out test1.f
-o output オプションとともに -c オプションを指定する場合、オブジェクト名を変更できます (実行プログラム名は変更できません)。また、-c を指定し、-o output オプションを省略する場合、サフィックスが .o に変更されたソースファイル名がオブジェクト・ファイル名に使用されます。
注
複数のソースファイルに対しては、-c および -o を一緒に使用できません。