インテル® Fortran コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
コンパイラーを起動させるコマンドは ifort です。
Windows* および OS X* システムでは、統合開発環境からコンパイラーを使用することもできます。
Linux* および OS X* システムでは、コマンドラインを使用する前に、各種コンポーネントの場所を指定する環境変数を設定する必要があります。インテル® Fortran コンパイラーのインストールには、ターミナルウィンドウで環境変数を設定するためのシェルスクリプトが含まれています。詳細は、「compilervars ファイルを使用するコンポーネントの場所の指定」を参照してください。
Windows* システムでは、通常、コマンドラインを使用する前に、環境変数を設定する必要はありません。各 Visual Studio* IDE には、インテル® Parallel Studio XE 2013 のプログラムフォルダーから利用可能な独自のコマンドライン・ウィンドウが用意されています。このウィンドウでは、コマンドライン環境で必要となる適切な環境変数がすでに設定されています。
コマンドラインで ifort コマンドを使用するか、makefile を使用してインテル® Fortran コンパイラーを実行します。 構文は、次のとおりです。
ifort [options]input_file(s)
コンパイラー・オプションの一覧は、「コンパイラー・オプション」を参照してください。
ifort コマンドは、1 回の命令でプロジェクト のコンパイルとリンクを行うこともできますし、コンパイルした後にリンクすることもできます。
ほとんどの場合、1 回の ifort コマンドでコンパイラーとリンカーの両方を呼び出します。
ifort コマンドは、コンパイラーとリンカーのユーザー・インターフェイスであるドライバープログラムを呼び出します。 このコマンドは、一連のコマンドオプションとファイル名を受け取り、各ファイルの処理を指示します。
ドライバープログラムは、次の処理を行います。
インテル® Fortran コンパイラーを呼び出して、Fortran ファイルを処理します。
リンカーオプションをリンカーに渡します。
コンパイラーによって作成されたオブジェクト・ファイルをリンカーに渡します。
ライブラリーをリンカーに渡します。
リンカーまたはライブラリアンを呼び出して、実行ファイルまたはライブラリー・ファイルを作成します。
Linux* システムでは、コンパイラーはデフォルトでソースプログラム中のオフロード言語拡張を認識し、存在するターゲットとホストの両方で実行するヘテロジニアス・バイナリーをビルドします。これらの言語拡張を含むプログラムでヘテロジニアス・バイナリーをビルドしない場合は、-no-offload コンパイラー・オプションを指定します。 詳細は、「概要: ヘテロジニアス・プログラミング」と -no-offload コンパイラー・オプションを参照してください。
オブジェクト・モジュールのライブラリーをビルドする場合は、ld (Linux* および OS X*) または link (Windows*) を使用することもできます。 コマンドラインで、これらのコマンドと -help (Linux* および OS X*) または /? (Windows*) オプションを指定すると、その構文の使用方法が表示されます。
ifort コマンドは、リンカーを呼び出すときに、適切なインテル® Fortran ランタイム・ライブラリーを自動的に参照します。 インテル® Fortran コンパイラーによって作成された 1 つ以上のオブジェクト・ファイルをリンクするときには、link コマンドの代わりに ifort コマンドを使用してください。
ドライバーは、ほかのソフトウェア構成要素を呼び出すので、これらの構成要素からエラーメッセージが返されることがあります。例えば、リンカーは、グローバル参照を解決できなかったときに、メッセージを返すことがあります。-watch コマンドライン・オプション (Linux* および OS X*) または /watch コマンドライン・オプション (Windows*) は、どのコンポーネントでエラーが発生しているのかを特定するのに役立ちます。
Windows* システムでは、Unicode* (マルチバイト) 形式の文字をサポートしています。コンパイラーは、Unicode 文字を含むファイル名を処理します。
次の規則は、コマンドラインで ifort を使用する際に適用されます。
オプションはハイフン (-) (Linux* および OS X*) またはスラッシュ (/) (Windows*) が先頭にある 1 文字以上の文字で指定されます。Windows* では、スラッシュ (/) の代わりにハイフン (-) を使用することもできますが、この方法は推奨しません。
スペースを区切り文字として使って、複数の input_files を指定できます。ファイルが PATH または作業用ディレクトリーに含まれていない場合、ファイル名の前にディレクトリー・パスを指定してください。 ファイル名の拡張子は、ファイルの種類を指定します。「ファイルの拡張子の理解」を参照してください。
オプションの引数は、ファイル名、文字列、文字、または数字です。特に指定がない限り、オプションとその引数の間にスペースを挿入することができます。コンパイラー・オプションの一覧は、「コンパイラー・オプション」を参照してください。
コマンドラインで指定されたオプションは、すべてのファイルに適用されます。次の例では、-c および -nowarn オプションは x.f と y.f の両方のファイルに適用されます。
ifort -c x.f -nowarn y.f
複数のオプションを 1 つのスラッシュまたはハイフンで指定することはできません。各オプションにスラッシュまたはハイフンを指定する必要があります。例: (正) /1 /c、(誤) /1c。
一部のコンパイラー・オプションでは、大文字と小文字が区別されます。例えば、c および C は 2 つの異なるオプションです。
オプションの引数には、ファイル名、文字列、文字、または数字を入力します。文字列が空白を含む場合、引用符で閉じる必要があります。
すべてのコンパイラー・オプションは、-Xlinker (Linux* および OS X*) または /link オプション (Windows*) の前に指定しなければなりません。 -Xlinker または /link に続くオプションは、リンカーに直接渡されます。
特定のオプションを指定しなければ、コマンドラインは指定されたファイルに対してコンパイルとリンクの両方を行います。リンクなしでコンパイルを行うには、-c オプション (Linux* および OS X*) または /c オプション (Windows*) を指定します。
オプションを一意に識別できるだけの文字数を入力すれば、いくつかのオプション名は短縮可能です。
コンパイラー・オプションは、コンパイラー宣言子を使用して無効にしない限り、コンパイル全体で効果があります。
次のコマンドは、x.for のコンパイルとリンクを行い、実行ファイルを作成します。 このコマンドは、リンク後に削除される一時オブジェクト・ファイルを生成します。
ifort x.for
次のコマンドは、x.for をコンパイルし、オブジェクト・ファイル x.o (Linux* および OS X*) または x.obj (Windows*) を作成します。 c オプションはリンクを抑止します (オブジェクト・ファイルを実行ファイルにリンクしません)。
ifort -c x.for (Linux* および OS X*) ifort x.for /c (Windows*)
次のコマンドは、x.o または x.obj を実行ファイルにリンクします。 このコマンドでは、自動的にデフォルトのインテル® Fortran ライブラリーをリンクします。
ifort x.o (Linux* および OS X*) ifort x.obj (Windows*)
次のコマンドは、a.for、b.for、および c.for をコンパイルし、3 つの一時的なオブジェクト・ファイルを作成して、それらを a.out (Linux* および OS X*) または a.exe (Windows*) という名前の実行ファイルにリンクします。
ifort a.for b.for c.for
モジュールを使用し、複数のファイルをコンパイルするときには、モジュールを定義しているソースファイルを、そのモジュールを (USE 文で) 参照しているファイルよりも前にコンパイルします。
単一の ifort コマンドを使用する場合、コマンドラインでのファイルの順序が重要になります。 例えば、自由形式ソースファイル moddef.f90 が、projmain.f90 で参照されるモジュールを定義している場合、次のコマンドを使用します。
ifort moddef.f90 projmain.f90
実行ファイルのファイル名を指定するには、-o (Linux* および OS X*) または /exe (Windows*) オプションを使用します。
ifort x.for -o myprog.out (Linux* および OS X*) ifort x.for /exe:myprog.exe (Windows*)
出力をファイルにリダイレクトしてからプログラムの出力結果を表示する場合、次のコマンドを使用します (Linux* および OS X*)。
myprog > results.lis (Linux* および OS X*) more results.lis
標準出力を one.out に、標準エラー出力を two.out に格納する場合、次のコマンドを使用します (Windows*)。
ifort filenames /options 1>one.out 2>two.out (Windows*)
または
ifort filenames /options >one.out 2>two.out
標準出力と標準エラー出力を both.out という 1 つのファイルに格納する場合、次のコマンドを使用します (Windows*)。
ifort filenames /options 1>both.out 2>&1 (Windows*)
または
ifort filenames /options >both.out 2>&1
コマンドラインから makefile を使用する: makefile を使用して、さまざまなパスを持つファイルを指定し、この情報を複数のコンパイルで使用できるように保存します。makefile の使用に関する詳細は、「makefile を使用するアプリケーションのビルド」を参照してください。