インテル® Visual Fortran コンパイラー 10.0 Windows 版は、最高のパフォーマンスを実現する Fortran アプリケーションを作成するためのツールを提供します。Fortran 2003 規格のさまざまな機能に加え、一般的な言語拡張に幅広く対応した完全な Fortran 95 コンパイラーです。また、OpenMP* に対応し、自動並列化機能も備えるなど、マルチスレッド・コードの開発もサポートしています。
他社製の Fortran コンパイラーおよびインテル® Fortran コンパイラー 8.0 以前 (.mod ファイルを生成するバージョンを含む) でコンパイルされた Fortran のソースは、すべて再コンパイルする必要があります。サードパーティーのライブラリーや .mod ファイルを使用している場合、互換性のあるバージョンをライブラリー・ベンダーから入手してください。サードパーティーのライブラリーの更新で問題が発生した場合は、インテル® プレミアサポートまでお知らせください。Compaq* Visual Fortran (CVF) を使用していた場合、デフォルト・プロシージャーの呼び出しおよび命名規則が CVF とは異なります。CVF からの移植に関しては、こちらを参照してください。
また、 インテル® 64 および IA-64 アーキテクチャーにおける、モジュール変数のグローバル名の修飾に関する変更のセクションも参照してください。
インテル® Visual Fortran には、3 つのエディションがあります。
スタンダード・エディションには、以下のコンポーネントが含まれます。
プロフェッショナル・エディションには、スタンダード・エディションのすべての機能に加えて、インテル® マス・カーネル・ライブラリー (インテル® MKL) が含まれています。インテル® MKL には、最大限のパフォーマンスを必要とする工学、科学、金融系アプリケーション向けに高度に最適化およびスレッド化された数値演算関数が含まれています。
プロフェッショナル・エディション IMSL* 同梱には、プロフェッショナル・エディションのすべての機能に加えて、Visual Numerics* 社の IMSL Fortran 数値計算ライブラリーが含まれています。インテル® Visual Fortran 9.1 プロフェッショナル・エディションの有効なライセンスをお持ちの場合は、インテル® レジストレーション・センターにログインして、ライセンスキーの再送手続きを行うと、インテル® MKL を使用できるアップデート・ライセンスを取得できます。
コンパイラーのインストールとは別に、インテル® MKL および IMSL Fortran 数値計算ライブラリーのインストールが必要です。詳細は、コンパイラーのインストール・ガイドを参照してください。
注: このドキュメントで <install-dir>
として表記されているデフォルトのインストール・ディレクトリーは、C:\Program Files\Intel
です。インテル® Fortran コンパイラー 10.0 は、Compiler\Fortran\10.0.xxx
サブフォルダーにインストールされます。
本製品で提供されるツールについてのテクニカルサポートおよび製品のアップデート情報を受けるには、製品の登録が必要です。詳細は「テクニカルサポート」セクションを参照してください。
このセクションでは、インテル® Visual Fortran コンパイラー 10.0 の新機能および変更点について説明します。<install-dir>\IDB\10.0\docs
フォルダーにあるインテル® デバッガーのリリースノートも参照してください。
10.0 では、IA-32 システムまたはインテル® 64 対応システム用のアプリケーションを開発する場合、Microsoft 開発製品を別途購入してインストールする必要がなくなりました。Microsoft Visual Studio 2005、Microsoft Visual Studio .NET 2003 (IA-32 システムのみ)、または Microsoft Visual C++* .NET 2003 (IA-32 システムのみ) がインストールされていない場合、インテル® Visual Fortran のインストーラーによって Microsoft Visual Studio 2005 Premier Partner Edition がインストールされます。これにより、デバッガーに加え、ビジュアル開発環境およびコマンドラインでの開発に必要なツールとライブラリーを含む Microsoft ビジュアル開発環境が提供されます。
Microsoft Visual Studio 2005 Premier Partner Edition を使用する場合、次の制限が適用されます。
Microsoft Visual Studio 2005、Visual Studio .NET 2003 (IA-32 システムのみ)、または Visual C++ .NET 2003 (IA-32 システムのみ) を別途購入した場合、これらの制限は適用されません。
インテル® COM サーバーウィザードは、Fortran で COM サーバーを作成して、.NET 環境のアプリケーションを含む、その他のアプリケーションにサービスを提供します。Component Object Model (COM) は、再利用可能なソフトウェア・コンポーネントを作成するためのメカニズムを提供します。COM は、ソフトウェアの相互運用性を高めることを目的として設計されたオブジェクト・ベースのプログラミング・モデルです。つまり、2 つ以上のアプリケーションまたはコンポーネントが、異なるベンダーによって異なる時期に、異なるプログラミング言語で作成された場合でも、またそれらが異なるオペレーティング・システムを実行している異なるマシンで動作していても、簡単に協調動作を行うことができます。
詳細は、ドキュメントの「インテル® Fortran COM サーバーの使用」を参照してください。
Fortran Windows アプリケーションのさまざまなプログラミング手法および使用例を紹介したサンプルプログラムのセットが、 <install_dir>\Compiler\Fortran\10.0.xxx\samples
フォルダーにあります。コンパイラー・ドキュメントで使用しているサンプルプログラムも含まれています。詳細は、samples
フォルダーにある samples.htm を参照してください。
複数のバージョンのインテル® Visual Fortran コンパイラーをインストールすることができます。バージョン 10.0 では、複数のアップデート・バージョンを共存させることができます。バージョン 10.0 のアップデートをインストールする場合、10.0 の古いバージョンは自動的にアンインストールされません。Microsoft Visual Studio では、Microsoft Visual Studio から ([ツール] - [オプション] - [Fortran]) 新しいバージョンを選択する必要があります。以前のバージョンをアンインストールする場合は、このバージョンをインストールする前 (推奨) でもインストールした後でもアンインストールできます。アップデートごとに、インストール・パスは異なります。
以下に、バージョン 9.1 の最初のリリースから変更または追加されたコマンドライン・オプションをリストします。これらのオプションの詳細な情報は、コンパイラーのドキュメントを参照してください。
/assume:[no]old_boz
/assume:noold_boz
) /assume:[no]old_unit_star
/assume:old_unit_star
) /assume:protect_parens
REAL
および COMPLEX
の式評価で、演算の関連付けを変更せずに、括弧を考慮に入れて最適化するかどうかを指定します。/check:[no]pointer
ALLOCATABLE
変数によるアクセスのランタイムチェックを有効または無効にします。(デフォルト: /check:nopointer
) /fast
/heap-arrays[-]
/help [category]
/QaxS
/Qdiag-<type>:<diag-list>
/Qdiag-dump
/Qdiag-enable:sv[1|2|3]
/Qdiag-enable:sv-include
/Qdiag-id-numbers[-]
/Qfp-speculation=<mode>
/Qinline-dllimport[-]
/Qinstrument-functions[-]
/Qipo-jobs:n
/Qkeep-static-consts[-]
/Qpar-schedule-<keyword>[[:]n]
/Qprefetch[-]
-O3
が指定されている場合のみ有効です。本リリースでは、/QxT
が指定されている場合は、IA-64 システム上に加えて IA-32 システム上でも有効です。(IA-32 および IA-64 システムのみ。デフォルト: オフ) /Qsave-temps[-]
/Qtcheck[:<mode>]
/Qtcollect
/QxO
/QxS
/std または /stand
/stand:f03
と同じです。以前のバージョンから変更されました。(デフォルト: オフ)/stand:f03
または /std03
推奨されていない (現在はサポートされているが、将来のバージョンでは削除される予定の) コマンドライン・オプション、または削除された (サポートが終了した) コマンドライン・オプションの詳細は、ドキュメントの「コンパイラー・オプション」 > 「推奨されていないコンパイラー・オプション (古いオプション) と削除されたコンパイラー・オプション」を参照してください。
/fast
の変更
/fast
オプションは、一般的にランタイム・パフォーマンスを向上させるオプションのセットを指定するための簡単な方法です。ドキュメントに記載されているように、オプションのセットは変更されることがあります。/fast
は、バージョン 10.0 では /QxT
を設定しますが、以前のバージョンでは /QxP
を設定します。この変更により不都合が生じる場合は、/fast
を使用する代わりに、各オプションを個別に設定する必要があります。詳細は、ドキュメントの「コンパイラー・オプション」を参照してください。
/stand
の変更バージョン 10.0 では、キーワードなしで /stand
オプションを指定すると、/stand:f03
または Fortran 2003 規格に対する適合性のチェックとして処理されます。Fortran 90 または Fortran 95 への適合性をチェックする場合は、/stand:f90
または /stand:f95
を指定してください。/std
と /stand
は同じです。『Intel® Fortran Language Reference』(英語) は、まだ Fortran 2003 の機能を Fortran 95 の拡張機能として説明しています。
多くのコマンドライン・オプションでは、オプション名でハイフン ("-") の代わりに、古い記述方法の下線 ("_") を使用しています。この古い記述方法は、まだ有効です。
Microsoft Visual Studio .NET 2002 のコマンドラインおよびビジュアル開発環境への統合は提供していません。サポートしている Visual Studio バージョンは 2003 および 2005 です。
Fortran 2003 では、以前の規格では拡張機能であった言語機能と、定義されていなかった言語機能の動作が定義されています。インテル® Fortran コンパイラー 10.0 は Fortran 2003 を完全にサポートしていませんが、以前のバージョンでは異なる動作をしていた以下の場合において、Fortran 2003 規格の動作を採用しています。それ以外のケースでは、コンパイラーのデフォルトは変更されていません。
Fortran 95 では、2 進、8 進、および 16 進の定数 (BOZ 定数) は DATA 文でのみ使用可能で、整数型のスカラー変数の初期化に限定されていました。Fortran 95 の拡張として、インテル® Fortran コンパイラーでは、コンテキストでの BOZ 定数の使用を許可し、コンテキストにより型を解釈していました。Fortran 2003 では、数値型の初期化に加え、INT、REAL、DBLE、および CMPLX 組み込み関数の引数に BOZ 定数を使用することができます。
BOZ 定数の使用に対する Fortran 2003 のセマンティクスは、INT、REAL、DBLE、および CMPLX 組み込み関数の引数として使用する場合を除き、以前のバージョンのインテル® Fortran コンパイラーの拡張と同じです。組み込み関数の引数として BOZ 定数を使用する場合、Fortran 2003 では、組み込み関数によって返されるデータ型のバイナリー値として直接解釈しています。一方、以前のバージョンのインテル® Fortran コンパイラーでは、符号付整数値として解釈してから変換しています。
次に例を示します。
print *, real(Z'40490FDB')
以前の動作 (/assume:old_boz
) は 1.0785300E+09 を出力しますが、新しい動作 (/assume:noold_boz
) は 3.141593 を出力します。
インテル® Fortran コンパイラー 10.0 のデフォルトの動作は、Fortran 2003 と同じで、変換せずにバイナリー値を渡します。アプリケーションで以前の動作が必要な場合は、/assume:old_boz
オプションを使用してコンパイルしてください。
インテル® Fortran コンパイラーでは、デフォルトで、I/O ユニットおよび ACCEPT
文、PRINT
文、TYPE
文で使用される暗黙的なユニットに、OPEN
文で指定される可能性があるユニット 5 またはユニット 6 以外のユニット番号が関連付けられています。Fortran 2003 では、デフォルトのユニットに対して OPEN を使用できますが、インテル® Fortran コンパイラーはこの動作に対応していません。
バージョン 10.0 では、この動作に対応するために、/assume:[no]old_unit_star
コンパイル・コマンド・オプションが追加されました。デフォルトの /assume:old_unit_star
は、ユニットにユニット 5 およびユニット 6 以外を使用するという現在および以前の動作を引き継いでいます。Fortran 2003 規格の動作を使用する場合、または Fortran 2003 の組み込みモジュール ISO_FORTRAN_ENV
およびその定義済み定数 INPUT_UNIT
と OUTPUT_UNIT
を使用する場合は、/assume:noold_unit_star
を指定して、ユニット (および ACCEPT
、PRINT
、TYPE
) にユニット 5 (入力) とユニット 6 (出力) を使用できます。
この動作のデフォルトは、将来のリリースで変更されることがあります。
インテル® Fortran コンパイラー 10.0 では、バージョン 8.x および 9.x と同様、書式なし I/O でファイルを開く場合、OPEN
文の RECL=
キーワードには、デフォルトの整数のサイズである 4 バイトが指定されます。以前の Fortran 規格では、RECL=
単位は実装依存とされていましたが、Fortran 2003 では 1 桁のバイト単位を推奨しています。書式なし I/O の RECL=
単位にバイトを指定するには、/assume:byterecl
コンパイラー・オプションを使用します。アプリケーションで組み込みモジュール ISO_FORTRAN_ENV
の名前付き定数 FILE_STORAGE_SIZE
を使用している場合も、このコンパイラーオプションを使用する必要があります。
バージョン 9.1 の最初のリリースから、次の Fortran 2003 規格の新機能が追加されています (一部の機能は、バージョン 9.1 のアップデートで追加されました)。詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。
/assume:byterecl
および /assume:noold_unit_star
を使用してコンパイルする必要があります) COMMAND_ARGUMENT_COUNT 組み込みプロシージャー次の新しい言語機能に関する詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。
ランタイム時のアプリケーションの動作を変更するための新しい環境変数が 2 つ (FORT_FMT_RECL
および FORT_UNFMT_RECL
) 追加されました。
FORT_FMT_RECL
は、書式付き I/O 用に開かれるすべての Fortran ユニットで使用する RECL
(レコード長) のデフォルト値を指定します。符号なし 10 進整数値が定義されると、RECORDTYPE
が 'FIXED'
でない場合、環境変数の値が OPEN
に対して指定されている RECL=
であるかのように使用されます。この環境変数は、リスト指定の出力でカラム数 (デフォルトでは 80) を変更するのによく使用します。
FORT_UNFMT_RECL
は、書式なし I/O 用に開かれるすべての Fortran ユニットで使用する RECL
(レコード長) のデフォルト値を指定します。符号なし 10 進整数値が定義されると、RECORDTYPE
が 'FIXED'
でない場合、環境変数の値が OPEN
に対して指定されている RECL=
であるかのように使用されます。この環境変数は、一般的に、RECORDTYPE='SEGMENTED'
で開いたファイルの最大セグメント長 (デフォルトでは 2040 バイト) を変更するのに使用されます。
KMP_AFFINITY
環境変数 OpenMP アプリケーションでは、KMP_AFFINITY
を使用して、システム上のプロセッサーに実行スレッドをバインドする方法を指定することができます。この設定はプログラム実行中、各スレッドを、生成される順序 (ラウンドロビン方式 (総当り)) に基づき、システム上のプロセッサー・コアにバインドします。KMP_AFFINITY
の値は、次の形式になります。
compact,<level>
<level>
は正の整数です。次に例を示します。
compact,1
<level>
引数は、バイナリーツリーで表されるマシンのトポロジーマップで、バインドされる連続スレッドのコア間のギャップを指定します。レベル 0 は、インテル® ハイパースレッディング・テクノロジー (HT テクノロジー) 対応のプロセッサー、または連続するプロセッサーの連続するスレッド・コンテキストにスレッドがバインドされることを示します。スレッド・コンテキストからコア、そしてパッケージ (プロセッサー) の順に、レベルが 1 つずつ上がります。この設定は、インテル® プロセッサーが搭載され、スレッド・バインディングに対応したオペレーティング・システムでのみサポートされています。
このバージョンでは、メモリーおよびループの最適化を行う最適化レベル O2
と O3
で、並列化 (IA-32、インテル® 64、および IA-64 システム) とベクトル化 (IA-32 およびインテル® 64 対応システム) を統合するように最適化機構が完全に再設計されています。
次の改善により、パフォーマンスの大幅な向上が期待できます。
ループ変換 (HLO) の最適化レポートは、ループ変換 (交換) を適用できなかった原因を示し、検出されたボトルネックが、ソースの変更により排除できる場合はループ変換を推奨します。これらのレポートは、より詳細な情報を提供し、理解しやすいように強化されています。
スタティックの検証は、複数のソースファイルに渡ってプログラムを静的に解析する新しい機能です。ユーザーコード内のさまざまな不具合や言語機能と矛盾している箇所を特定して、重要度に応じて報告します。スタティックの検証は、C/C++ および Fortran のコードを理解し、OpenMP 宣言子の解析も行います。
本リリースでは、スタティックの検証を有効にすると、リンカーが起動されず、実行ファイル、スタティック・リンク・ライブラリー、またはダイナミック・リンク・ライブラリーが生成されません。スタティックの検証により生成されるオブジェクト・ファイルは有効なものではなく、実際の実行ファイル、スタティック・リンク・ライブラリー、またはダイナミック・リンク・ライブラリーの生成には使用できません。現在の使用モデルでは、スタティックの検証は診断レポートを生成するための代替ビルドオプションとして追加されています。
スタティックの検証は、クロスファイルのプロシージャー間の最適化 (/Qipo) とともに使用することはできません。
詳細は、ドキュメントの「アプリケーションのビルド」 > 「エラー処理」 > 「コンパイル時エラー処理」 > 「スタティックの検証診断オプションの使用」を参照してください。
IDE 内でスタティックの検証サポートを有効にすると、最終的なビルドターゲット (例: 実行ファイル) は作成されません。スタティックの検証が必要な場合は、デバッグ (開発) 構成のコピーを作成して、スタティックの検証構成を別途作成することを推奨します。
Win32 API モジュール (IFWINTY
および KERNEL32
) に、Microsoft の新しいオペレーティング・システムで定義されているシンボルが追加されました。アプリケーションのソースでこれらのシンボルを宣言している場合は、正常にコンパイルするために削除しなければならないことがあります。
STDCALL
属性の制限インテル® Visual Fortran コンパイラー 10.0 では、エントリーポイントを含むプロシージャーでは、!DEC$ ATTRIBUTES STDCALL
宣言子を使用して SUBROUTINE
、FUNCTION
、ENTRY
に STDCALL
属性が与えられた場合、STDCALL
が必要です。
インテル® 64 および IA-64 プラットフォームで動作する Microsoft Windows では、外部シンボル名とグローバルシンボル名の修飾に関する表記方法が、IA-32 プラットフォームとは異なります。コンパイラーにより生成されるグローバルシンボルには、IA-32 プラットフォームでは先頭に下線が付きますが、インテル® 64 および IA-64 プラットフォームでは下線が省略されます。
以前のバージョンのインテル® Fortran コンパイラーのモジュール変数は、この規則に従っていませんでした。例えば、MOD
モジュールの変数 X
のグローバル名は、IA-32 プラットフォームでは _MOD_mp_X
、インテル® 64 および IA-64 プラットフォームでは MOD_mp_X
となるはずですが、 すべてのプラットフォームで先頭に下線を使用していました。このため、特に C++ や Fortran 以外のコードからモジュール変数を参照する際に、問題やリンクエラーが生じていました。
バージョン 10.0 では、インテル® 64 および IA-64 プラットフォームの場合には、先頭の下線が省略されるように修正されています。Fortran のみで記述されているアプリケーションでは、すべてのソースをリビルドしても、この変更による影響を受けません。この修正による変更は、次のようなアプリケーションに適用されます。
.DEF
ファイルを使用してビルドされたアプリケーション上記のアプリケーションに該当する場合は、早いうちに対処することを推奨します。/switch:fe_old_modvar
コンパイラー・オプションを使用して、以前の動作を利用できます。このオプションを指定すると、バージョン 9.1 以前のように下線が追加されます。Microsoft Visual Studio 環境でこのオプションを指定する場合は、[プロパティ ページ] - [Fortran] - [Command Line (コマンドライン)] を選択して、[Additional Options (追加のオプション)] でこのオプションを入力します。
IA-32 対応アプリケーションは、この変更による影響を受けません。この変更に関する質問は、インテル® プレミアサポートまでお問い合わせください。
インテル® Fortran コンパイラーは、最新の Fortran 規格である、Fortran 2003 の多くの機能をサポートしています。現在サポートしていない Fortran 2003 機能についても、今後サポートしていく予定です。現在のコンパイラーでは、以下の Fortran 2003 機能がサポートされています。
インテル® Visual Fortran プロフェッショナル・エディション IMSL 同梱のライセンスをお持ちの場合は、Visual Numerics 社の IMSL Fortran ライブラリー 6.0 を利用できます (別途インストールが必要です)。
Microsoft Visual Studio またはコマンドラインから IMSL ライブラリーを使用するための環境の設定方法については、『インテル® Visual Fortran コンパイラー・ドキュメント』 の 「アプリケーションのビルド」 > 「ライブラリーの使用」 > 「IMSL* 数値計算/統計解析ライブラリーの使用」を参照してください。この情報は、以前のバージョンから変更されています。IMSL Fortran ライブラリー 6.0 の詳細は、[スタート] - [すべてのプログラム] - [Visual Numerics] を選択して、表示されるドキュメントを参照してください。
インテル® Visual Fortran コンパイラー Windows 版の将来のメジャーリリースでは、インテル® デバッガー (IDB) は提供されなくなります。Microsoft Visual Studio でのデバッグには影響ありません。IDB の代わりに Microsoft Visual Studio のデバッグ機能を使用してください。
インテル® コンパイラーは、一般的なプロセッサー・アーキテクチャーとオペレーティング・システムを組み合わせた、3 つのプラットフォームをサポートしています。このセクションでは、本ドキュメント、インストール手順、およびサポートサイトでプラットフォームの記述に使用されている用語について説明します。
「ネイティブ」とは、アプリケーションを実行するプラットフォームと同じプラットフォームでアプリケーションをビルドする (例えば、IA-32 システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。「クロスプラットフォーム」または「クロスコンパイル」とは、アプリケーションを実行するプラットフォームとは異なる種類のプラットフォームでアプリケーションをビルドする (例えば、インテル® 64 対応システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。すべての組み合わせのクロスプラットフォーム開発がサポートされているわけではありません。また、組み合わせによっては、オプションのツールとライブラリーをインストールする必要があります。
サポートされているホスト (アプリケーションをビルドするシステム) とターゲット (アプリケーションを実行するシステム) の組み合わせを次に示します。
ホスト\ターゲット | IA-32 | インテル® 64 | IA-64 |
---|---|---|---|
IA-32 | ○ |
○ |
○ |
インテル® 64 | ○ |
○ |
○ |
IA-64 | × |
× |
○ |
次の Microsoft 開発ソフトウェアのインストールは、ライセンスの種類により、オプションまたは必須となります。バージョン 10.0 (商用版またはアカデミック版) を新規に購入した場合、サポートサービスを更新した場合、およびインテル® Visual Fortran 9.1 プロフェッショナル・エディション以前を使用しており、現在有効なライセンスをお持ちの場合、これらのインストールはオプションです。そうでない場合 (評価版、またはインテル® Visual Fortran 9.1 スタンダード・エディション以前を使用している場合を含む) は、インテル® Visual Fortran 10.0 をインストールする前に、次のいずれかをインストールする必要があります。
上記の製品のインストールがオプションの場合、システムに開発ソフトウェアがインストールされていないと、インテル® Visual Fortran は、Fortran 開発用の Microsoft ビジュアル開発環境、ツール、およびライブラリーを提供する Microsoft Visual Studio 2005 Premier Partner Edition をインストールします。
注: Microsoft Visual Studio.NET 2002 はサポートされていません。
注:
アプリケーションで使用している機械語命令が特定のオペレーティング・システムやプロセッサーでサポートされているかどうかは、アプリケーション開発者自身の責任で確認してください。
Windows Vista では、Visual Studio 2005 のみサポートされています。それ以前のバージョンの Visual Studio はサポートされていません。Visual Studio 2005 を使用する場合は、Windows Vista にインテル® コンパイラーをインストールする前に、Visual Studio 2005 Service Pack 1 (VS 2005 SP1) と Visual Studio 2005 Service Pack 1 Update for Windows Vista (VS 2005 SP1 からリンクされています) をインストールしてください。これらのアップデートをインストールした後に、管理者権限で Visual Studio が実行できることを確認してください。実行できない場合、インテル® コンパイラーを使用できません。Visual Studio のアップデートをインストールする前に、インテル® コンパイラーの統合をアンインストールしてください。詳細は、Microsoft の Visual Studio on Windows Vista (英語) および関連ドキュメントを参照してください。
Microsoft Visual C++ 2005 Express Edition がインストールされている場合は、インテル® Visual Fortran をインストールする前にアンインストールする必要があります。Visual C++ Express Edition で提供される C++ コンパイラーを使用する場合は、インテル® Visual Fortran をインストールした後に、Visual C++ Express Edition を再度インストールしてください。Microsoft Visual Studio Premier Partner Edition から Microsoft Visual C++ コンパイラーを使用することはできません。
詳細は、「インストール・ガイド」を参照してください。
Visual Studio で作成したインテル® Fortran プロジェクト/ソリューションをコマンドラインまたはバッチファイルからビルドする場合は、Visual Studio ランチャー、devenv.exe を使用してください。 利用可能なコマンドライン・オプションを表示するには、devenv /?
と入力してください。Microsoft ツール MSBuild および Team Build は、インテル® Fortran プロジェクトのビルドには現在使用できません。
Microsoft Visual Studio 2005 では、スタティック、シングルスレッド Visual C++ ライブラリー libc.lib
および libcd.lib
が削除されました。インテル® Fortran コンパイラーがコマンドラインで Visual Studio 2005 を使用するように指定した場合、以前のバージョンではデフォルトだったスタティック、シングルスレッド・ライブラリーを使用してアプリケーションをビルドしようとすると、コンパイラーは警告を表示します。
ifort: warning: option '/Qvc8' or higher used with '/ML[d]' is not supported
/Qvc8
は、Visual Studio 2005 とのコマンドライン統合を指定した場合、インストール時に ifort.cfg
に追加されます。このオプションは、Visual Studio 2005 を使用していることを ifort
コンパイラー・ドライバーに知らせます。
このオプションを使用してアプリケーションをリンクしようとすると、リンカーは libc.lib
または libcd.lib
が見つからないというエラーを表示します。次に例を示します。
LINK : fatal error LNK1104: ファイル 'LIBC.lib' を開けません
このエラーを解決するには、ランタイム・ライブラリーのスレッド/DLL フォームを指定してください。次に例を示します。
/libs:static /threads
/libs:dll
/MT
他に何も指定していない場合、Visual Studio 2005 で ifort
を使用したときのデフォルトは /libs:static /threads
(/MT
と同じ) です。
この問題は、Microsoft Visual Studio IDE からビルドされるプロジェクトにも影響します。この場合、[プロジェクト プロパティ] - [Fortran] - [コード生成] - [ランタイム・ライブラリー] を新しい値に変更してください。
Visual Studio 2005 で、新規プロジェクト・プラットフォーム (x64
または Itanium
) を追加した後、ツールバーのアクティブ・プラットフォーム・ドロップダウン・リストが空になります。この場合、[出力] ウィンドウをクリックしてアクティブにすると、ドロップダウン・リストの内容が表示されます。
Microsoft Visual Studio 2005 で C/C++ のメインプログラムと Fortran スタティック・ライブラリー依存プロジェクトを使用する場合、Visual Studio は C/C++ 以外の言語の依存プロジェクトの出力ファイル (通常は .lib) を検索しなくなりました。この問題を回避するには、依存プロジェクトの .lib を「ソースファイル」として追加するか、[プロパティ ページ] - [リンカ] - [入力] の [追加の依存ファイル] で .lib のフルパスを指定します。この問題は、Visual Studio 2005 Service Pack 1 で解決されています。
Microsoft Visual Studio 2005 では、Visual C++ プロジェクトを開くまで、ダイアログ エディタ (リソース エディタの一部) で変更はできません。この問題は、Visual Studio 2005 Service Pack 1 で解決されています。
英語版以外の Microsoft Visual Studio 2005 を使用する際のインテル® Visual Fortran の設定に関する重要な情報については、『インストール・ガイド』を参照してください。
Visual Studio の Fortran プロジェクト・ウィザードを使用して、[Dynamic-Link Library with Sample Code ダイナミック・リンク・ライブラリー (サンプルコード付き)] のようにサンプルコード付きのプロジェクトを作成する場合は、プロジェクト名で次の特殊文字を使用しないでください。
~ !@ $ ^ ( ) + ` - = { } [ ] ; ' ,
これらの特殊文字を使用すると、プロジェクトの作成に失敗することがあります。また、インテル® COM サーバーウィザードのクラス、インターフェイス、および派生型の名前でも、これらの特殊文字は使用しないでください。
/cpp_cmdifort /cpp_opt "/nologo /fpp /P /E /Qoption,fpp,/no-fort-cont"
。後で Microsoft Visual Studio Premier Partner Edition をアンインストールして市販の Microsoft Visual Studio 2005 をインストールする場合は、Microsoft のプリプロセッサーが使用されるように、MIDL のプロパティ ページから追加されたこれらのオプションを削除してください。 IA-64 システムまたはインテル® 64 対応システムで Microsoft Platform SDK を使用してビルドを行うと、以下のようなリンクエラーが発生します。
LIBC.lib(a_str.obj) : error LNK2001: 外部シンボル __security_cookie は未解決です
[...]
LIBC.lib(a_str.obj) : error LNK2001: 外部シンボル __security_check_cookie は未解決です
[...]
この問題は、Microsoft Platform SDK のバージョン間の不一致によって発生します。インテルでは、この問題を解決するために Microsoft と作業を行っています。この問題を回避するには、以下のいずれかの方法でアプリケーションをリンクしてください。
ifort hello.f90 /MD
ifort hello.f90 -link bufferoverflowu.lib
ifort hello.f90 /MT bufferoverflowu.lib
/check
オプションまたは /C
オプションを使用してランタイムチェックを有効にすると、コンパイラーはコンパイル時に (その時点で診断を行うことができる) 要求された条件の診断を発行することがあります。例えば、/check:bounds
または /CB
を使用する場合、インデックスが定数である配列の境界違反は、コンパイル時にエラーとなります。
(/Qax*)
使用時のデバッグ情報の制限/Qax[code]
を使用してコンパイルを行うと、各関数について IA-32 汎用コードと CPU 特有のコードの 2 種類のコードが生成されます。各関数のシンボルは自動 CPU ディスパッチ・ルーチンを参照して、ランタイムに実行するコードセクションを決定します。これらの関数にデバッガーのブレークポイントが名前でセットされると、ディスパッチ・ルーチンでアプリケーションが停止します。その結果、デバッグ時に予測できない動作が発生します。この問題は、インテル® デバッガーおよびインテル® コンパイラーの将来のバージョンで修正される予定です。
/Oy
オプションを使用してビルドされた IA-32 プログラムをデバッグまたはトレースバック表示できない/Oy
を使用してコンパイルを行うと、IA-32 EBP レジスターはフレームポインターではなく汎用レジスターとして使用されます。デバッガーおよびトレースバック・ハンドラーは、この方法でコンパイルされた関数への呼び出しを含むスタックから適切にスタックを戻すことができません。
POSIX ライブラリのルーチン PXFGETPPID を使用しているアプリケーションは、Windows NT 4.0 で動作しません。Windows 2000 またはそれ以降を使用してください。
IA-32 システム上で、-fpe:0
オプションを使用してコンパイルされ、浮動小数点例外が起こるプログラムでは、Fortran ランタイム・ライブラリーによって、追加の浮動小数点オーバーフロー例外が発生します。これは、どのバージョンの Microsoft ライブラリーがユーザーのプログラムにリンクされているかをライブラリーが判断するためです。この例外は、1 回のプログラムのプロセスに 1 度だけ発生します。デバッグ時、予測されたアンダーフローに続く予期しないオーバーフローについては、注意する必要はありません。
インテルでは、お客様からのフィードバックを非常に重視しております。http://www.intel.com/software/products/support (英語) から、本製品で提供されるツールについてのテクニカルサポートを利用したり、FAQ や製品のアップデート情報を含むテクニカル情報を入手することができます。
注: 代理店がテクニカルサポートを提供している場合は、インテルではなく代理店にお問い合わせください。
インテル® Visual Fortran コンパイラーのユーザーフォーラム、FAQ、ヒント、およびその他のサポート情報は、http://support.intel.com/support/performancetools/fortran/windows/ (英語) を参照してください。サポート情報全般については、http://www.intel.com/software/products/support/ (英語) を参照してください。
[Submit Issue]
リンクをクリックします。
[Product Type]
ドロップダウン・リストから [Development Environment (tools,SDV,EAP)]
を選択します。
[Product Name]
ドロップダウン・リストから [Intel® Fortran Compiler for Windows*]
を選択します。
注: 特定の国へのアクセスを制限する必要があるソースコードを送信する場合は、ソースコードを送信する前にサポート担当者までお問い合わせください。
ifort /what
w_fc_p_10.0.xxx
) をインテル® プレミアサポートの適切なフィールドにコピーします。また、問題の解決に役立つと思われる事項はすべてお伝えください。
コンパイラーの最新バージョンで修正された問題点については、インテル® レジストレーション・センターからダウンロードできる <package ID>_README.TXT
(例: w_fc_p_10.0.xxx_README
) を参照してください。
Compiler Error Source Reducer (CESR) は、C/C++ または Fortran ソースコードで構成されたテストケースの収集、縮小、特定、保護、文書化、およびバンドルを行うユーティリティーのセットです。大規模なアプリケーションからインテル® プレミアサポートに送信する小さなテストケースを抽出する場合に便利です。CESR は、インテル® レジストレーション・センターの [製品のダウンロード] からダウンロードできます。製品を選択して、バージョンのドロップダウンから [CESR] を選択します。CESR は試験的に提供されているもので、サポートは提供されておりません。CESR に関するご意見およびご感想は、インテル® プレミアサポートまでお寄せください。CESR を利用するには、Python 2.2 またはそれ以降をあらかじめインストールしておく必要があります。
インテル® コンパイラーのドキュメントおよび HTML ベースの関連ドキュメントは、ナビゲーション、キーワード検索、およびハイパーテキスト機能が利用できるコンパイル済み HTML ヘルプ (.CHM) 形式のファイルです。ブラウザーで .CHM ファイルを開けない場合、Windows エクスプローラーを使用して、Docs
ディレクトリーでファイル名をダブルクリックしてください。
各ドキュメントに簡単にアクセスできるように、ドキュメント・インデックスが提供されています。ドキュメント・インデックスは、<install-dir>Compiler\Fortran\10.0.xxx\Docs\Doc_Index.htm
で、インテル® Visual Fortran コンパイラーのプログラムフォルダーにあります。本リリースでは、Doc_Index.htm
ファイルで説明されているようにオンラインヘルプの構成が変更され、インストール・ガイドと入門ガイドが別になりました。
『Intel® Debugger Manual』(英語) は、インテル® デバッガーのプログラムフォルダーにあります
Microsoft Visual Studio を使用するアプリケーションのビルドについては、コンパイラー・ドキュメントの「アプリケーションのビルド」 > 「Microsoft* Visual Studio* からのアプリケーション・ビルド」を参照してください。Microsoft Visual Studio に関する詳細は、市販の Microsoft Visual Studio に同梱の『MSDN* ライブラリ』を参照してください。『MSDN ライブラリ』は、インテル® Visual Fortran に同梱の Microsoft Visual Studio Premier Partner Edition には含まれていません。オンライン・バージョンの MSDN ライブラリは、http://msdn2.microsoft.com/en-us/library/ (英語) から利用できます。また、Microsoft Download Center (http://www.microsoft.com/downloads) (英語) で "MSDN Library" を検索して、最新の MSDN ライブラリの DVD イメージをダウンロードすることもできます。
オプションの IMSL Fortran ライブラリーおよびインテル® MKL のドキュメントは、[スタート] メニューにあるそれぞれのプログラムグループから参照できます。
インテル® ソフトウェア開発製品の詳しい情報については、http://www.intel.co.jp/jp/software/products/ を参照してください。
関連製品の一部を次にリストします。
本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証(特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む)にも一切応じないものとします。インテル製品は、医療、救命、延命措置、重要な制御または安全システム、核施設などの目的に使用することを前提としたものではありません。
インテル製品は、予告なく仕様や説明が変更される場合があります。
機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を開発の前提にしないでください。留保または未定義の機能を不適当な方法で使用すると、開発したソフトウェア・コードをインテル・プロセッサー上で実行する際に、予測不可能な動作や障害が発生するおそれがあります。 これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。
本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公開されている仕様とは異なる動作をする場合があります。現在までに判明している不具合の情報については、インテルのサポートサイトをご覧ください。
本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料で提供される情報は、情報供与のみを目的としたものであり、予告なしに変更されることがあります。また、本資料で提供される情報は、インテルによる確約と解釈されるべきものではありません。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、本書のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体によって転送したりすることは禁じられています。
Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、VTune、Xeon は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
© 2007 Intel Corporation.