インテル® Visual Fortran コンパイラー 9.1 Windows* 版
リリースノート

目次

概要

インテル® Visual Fortran コンパイラー 9.1 Windows 版は、すべての IA-32 プロセッサー、インテル® エクステンデッド・メモリー 64 テクノロジー (インテル® EM64T) 対応のインテル® プロセッサー、およびインテル® Itanium® 2 プロセッサーに対応し、これらのプロセッサー上で極めて高速に動作するソフトウェアを生成します。インテル® Pentium® 4 プロセッサーとインテル Pentium M プロセッサーのストリーミング SIMD 拡張命令 2 (SSE2)、SSE3 対応のインテル Pentium 4 プロセッサーおよびインテル® Core(TM) プロセッサーのストリーミング SIMD 拡張命令 3 (SSE3)、インテル Itanium 2 プロセッサーのソフトウェアのパイプライン化など数々の最適化機能に対応しているほか、プロシージャー間の最適化 (IPO) やプロファイルに基づく最適化 (PGO) によってアプリケーションのパフォーマンスを大きく向上させます。また、OpenMP* に対応し、自動並列化機能も備えるなど、マルチスレッド・コードの開発もサポートしています。

この製品のスタンダード・エディションには、インテル Visual Fortran コンパイラー、インテル® デバッガー、Microsoft* ビジュアル開発環境への統合ユーティリティー、およびコード・カバレッジ・ツールとテスト・プライオリタイゼーション・ツールが含まれています。プロフェッショナル・エディションには、スタンダード・エディションのすべての機能に加えて、Visual Numerics 社の IMSL* Fortran ライブラリー 5.0 が含まれています。

互換性

.mod ファイルを生成するバージョンを含む、バージョン 8.0 以前のコンパイラーでコンパイルされたすべての Fortran ソースは再コンパイルする必要があります。サードパーティーのライブラリーや .mod ファイルを使用している場合、互換性のあるバージョンをライブラリー・ベンダーから入手してください。サードパーティーのライブラリーの更新で問題が発生した場合は、インテル® プレミアサポートまでお知らせください。Compaq* Visual Fortran (CVF) を使用していた場合、デフォルト・プロシージャーの呼び出しおよび命名規則が CVF とは異なります。他のバージョンの Fortran コンパイラーとの互換性に関しては、インテル・プレミア・サポート、または http://developer.intel.com/jp/developer/software/products/compilers/fwin/ の説明を参照してください。

製品の内容

この製品には以下のコンポーネントが含まれています。

注: このドキュメントで <install-dir> として表記されているデフォルトのインストール・ディレクトリーは、C:\Program Files\Intel です。Fortran 9.1 コンパイラーは、Compiler\Fortran\9.1 サブフォルダーにインストールされます。

本製品で提供されるツールについてのテクニカルサポートおよび製品のアップデート情報を受けるには、製品の登録が必要です。詳細は「テクニカルサポート」セクションを参照してください。

バージョン 9.1 における変更点

このセクションでは、インテル Visual Fortran コンパイラー 9.1 の新機能および変更点について説明します。インテル・デバッガーのリリースノートも参照してください。

変更および追加されたコマンドライン・オプション

以下に、バージョン 9.0 の最初のリリースから変更または追加されたコマンドライン・オプションをリストします。これらのオプションの詳細な情報は、コンパイラーのドキュメントを参照してください。

/allow:[no]fpp_comments
fpp プリプロセッサーがプリプロセッサー・ディレクティブ行で Fortran の end-of-line コメントをどのように解釈するかを指定します。(デフォルト: /allow:fpp_comments)
/assume:[no]writeable-strings
文字定数を読み取り専用メモリーに移動するかどうかを指定します。(デフォルト: /assume:nowriteable-strings)
/fp:keyword
浮動小数点演算のセマンティクスを制御します。(デフォルト: /fp:fast)
/G2-p9000
デュアルコア インテル Itanium 2 プロセッサー 9000 番台のプロセッサー用に最適化します。(デフォルト: オフ)
/QaxT
IA-32 汎用コードと開発コード名「Merom」のインテル・プロセッサー (および互換インテル・プロセッサー) 用に最適化されたプロセッサー固有のコードを生成するように、コンパイラーに指示します (IA-32 およびインテル EM64T 対応システムのみ、デフォルト: オフ)
/Qftz[-]
デノーマルな範囲へのアンダーフローが発生する浮動小数点計算でゼロへのフラッシュを有効または無効にします。このオプションの動作は、バージョン 9.1 で変更されました。
/Qinline-factor=<n>
上限を定義するすべてのインラインオプションに適用するパーセントの乗数を指定します。(デフォルト: オフ)
/Qinline-forceinline
コンパイラーがインライン化できる場合は常にインライン化するインラインルーチンを指定します。(デフォルト: オフ)
/Qinline-max-per-compile=<n>
コンパイル単位全体に適用されるインライン化の最大数を指定します。(デフォルト: オフ)
/Qinline-max-per-routine=<n>
インライナーが特定のルーチンにインライン化する最大数を指定します。(デフォルト: オフ)
/Qinline-max-size=<n>
インライナーが大規模ルーチンであるとみなすサイズの下限を指定します。(デフォルト: オフ)
/Qinline-max-total-size=<n>
インライン拡張が行われるときのルーチンのサイズの上限を指定します。(デフォルト: オフ)
/Qinline-min-size=<n>
インライナーが小規模ルーチンであるとみなすサイズの下限を指定します。(デフォルト: オフ)
/Qopt-mem-bandwidth<n>
プロセッサー間のメモリー帯域幅を制御するパフォーマンス・チューニングとヒューリスティックを有効または無効にします。(Itanium ベース・システムのみ、デフォルト: シリアルコンパイルの場合は 0、パラレルコンパイルの場合は 1)
/Qsafeseh[-]
安全な例外処理用の例外ハンドラーを登録します。(IA-32 のみ、デフォルト: /Qvc7.1 または /Qvc8 の場合はオン)
/Qvc8
Microsoft Visual Studio* 2005 との互換性を指定します。(デフォルトはインストール中の選択に応じて異なります)
/QxT
開発コード名「Merom」のインテル・プロセッサーおよび互換インテル・プロセッサー用に最適化されたプロセッサー固有のコードを生成するように、コンパイラーに指示します。
/watch:[no]cmd
ドライバー・ツール・コマンドを表示して実行するようにコンパイラーに指示します。(デフォルト: /watch:nocmd)
/watch:[no]source
コンパイルしているファイルの名前を表示するようにコンパイラーに指示します。(デフォルト: /watch:nosource)

Microsoft Visual Studio 2005 との統合

バージョン 9.1 では、Microsoft Visual Studio 2005 Standard Edition、Professional Edition および Team System Edition との統合がサポートされました。IA-32 およびインテル EM64T ベース・アプリケーションの開発は、IA-32 およびインテル EM64T 対応システムで、Microsoft Visual Studio 2005 の 3 つのエディションを使用して行うことができます。Microsoft Visual C++* 2005 Express Edition を使用した場合、コマンドラインで IA-32 アプリケーション開発のみを行うことができます。Itanium ベース・アプリケーションの開発は、IA-32 およびインテル EM64T 対応システムで Microsoft Visual Studio 2005 Team System Edition を使用して行うことができます。Microsoft Visual Studio 2005 を Itanium ベース・システムにインストールすることはできません。

Microsoft Visual Studio 2005 Standard Edition 以上のエディションを使用してインテル EM64T または Itanium ベース・アプリケーションを開発する場合、あるいはコンパイラーをインストールするときに Microsoft Visual Studio 2005 とのコマンドライン互換性を選択した場合、Microsoft Platform SDK (Software Development Kit) を別にインストールする必要はありません。

Microsoft Visual Studio 2005 におけるクロスプラットフォーム開発のサポート

Microsoft Visual Studio 2005 をインストールする際、クロスプラットフォーム開発ツールをインストールするオプションが表示されます。このオプションを選択すると、必要なファイル (クロスプラットフォーム・ヘッダー、ツール、ライブラリーなど) がインストールされます。別途スタンドアローン Platform SDK は必要ありません。

Visual Studio 2005 でインストールされた既存の Platform SDK を参照する場合は、次のいずれかの手順を行ってください。

  1. 適切なビルド環境コマンドウィンドウを開いて ([スタート] - [すべてのプログラム] - [Intel® Software Development Tools (インテル® ソフトウェア開発ツール)] - [Intel® Fortran Compiler 9.1 (インテル® Fortran コンパイラー 9.1)] - [Build Environment for <プラットフォーム名> (<プラットフォーム名> 用ビルド環境)])、次のコマンドを入力します。

    "C:\Program Files\Microsoft Platform SDK\SetEnv.bat"
    "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv" /useenv

    最初のコマンドは、使用している Microsoft Platform SDK 用の環境セットアップ・プロシージャーを起動し、2 つ目のコマンドは、最初のコマンドで設定された環境を使用して Visual Studio 開発環境を開始します。ファイルパスをシステムの正しいパスに変更します。

  2. 選択した Platform SDK からのディレクトリーが含まれるように、Visual Studio の [ツール] - [オプション] - [プロジェクト] - [ディレクトリ] のパス名をすべて手動で変更します。

必ず一貫した方法でクロスプラットフォーム・ツールをインストールして使用してください。コマンドライン・ビルドではスタンドアローン Platform SDK のツールやライブラリーを参照して、コンパイラー統合では Visual Studio 2005 のツールを参照するようにすることが可能です。この場合、コマンドラインからのコンパイルと Visual Studio 内部からのコンパイルで異なる開発環境が使用され、異なる結果が生成されます。

注: 同様の注:は、ネイティブ・コンパイラーと Visual Studio の異なるバージョンを使用してアプリケーション開発を行うと発生します。例えば、コンパイラー統合では Visual Studio .NET 2003 などの Visual Studio の以前のバージョンと関連付けられていても、コマンドラインでは Visual Studio 2005 と関連付けられているツールとライブラリーを参照することができます。

Visual Studio 2005 のマニフェスト

マニフェストは Visual Studio 2005 の機能で、アプリケーションのランタイム依存性を記述する XML ファイルです。インテル Visual Fortran コンパイラーは、マニフェスト・ファイルの生成をサポートしています。マニフェスト・ファイルの拡張子は .manifest で、通常、EXE または DLL と同じ場所に配置されます。マニフェスト・ファイルは EXE または DLL に組み込むこともできますが、インクリメンタル・リンクが有効な場合には組み込むことはできません。このような場合、次の警告が表示されます。

Warning: Manifest file not embedded because incremental linking property is specified. To embed manifest file, set "Linker>General>Enable Incremental Linking" to "No".

Microsoft Visual Studio .NET 2002 および 2003 における複数のコンパイラー・バージョンのサポート

バージョン 9.0 では、Microsoft Visual Studio .NET 2002 または 2003 環境で、システムにインストールされている異なるバージョンのインテル Fortran コンパイラーを選択できるようになりました。使用するコンパイラーおよびライブラリーのバージョンを選択するには、[ツール] - [オプション] - [インテル® Fortran] - [全般] をクリックして、 異なるインテル Fortran コンパイラーのバージョンを選択するオプションを表示します。サポートされている (以前の) バージョンは、9.0 および 8.1 です。9.0 および 8.1 のバージョンは Visual Studio 2005 をサポートしていないため、この機能は Visual Studio 2005 からは利用できません。

Visual Studio の状況依存言語ヘルプ

Visual Studio IDE の状況依存ヘルプを使用して、ライブラリー・ルーチンを含む、Fortran 言語機能のヘルプが表示されるようになりました。ソースウィンドウで、カーソルを言語キーワード (例えば、INTEGERCONTAINS) またはライブラリー・ルーチン (例えば、DATE_AND_TIMESIGNALQQ) の上に移動して、[F1] キーを押します。各種ドキュメントの該当するトピックが表示されます。

/QxP および /QaxP コード生成スイッチの使用

/QxP および /QaxP スイッチを使用すると、インテル Core Duo およびインテル Core Solo プロセッサーを含む、ストリーミング SIMD 拡張命令 3 (SSE3) をサポートするインテル・プロセッサー向けの専用コードが生成されます。

読み取り専用の定数

リテラルおよび名前付き定数 (PARAMETER) を含む定数は、書き込みアクセスから保護されているメモリーセクションに割り当てられるようになりました。定数は実際の引数としてプロシージャーに渡され、プロシージャーが引数を変更しようとすると、アクセス違反が発生します。次に例を示します。

call sub (3)
...
subroutine sub (i)
i = i + 1 ! アクセス違反が発生する


Fortran 言語は、定数または式に関連する引数の定義ステータスの変更を禁止しています。アプリケーションで定数を変更する必要がある場合は、/assume:noprotect_constants オプションを指定してください。(ビジュアル開発環境のプロジェクトのプロパティで、[Fortran] - [データ] - [定数の実引数の変更] を [はい] に設定します。) このオプションは、定数の実引数のコピーを作成して渡すようにコンパイラーに指示します。呼び出されたプロシージャーは、このコピーを変更することができます。コピーは、プロシージャーが終了するときに破棄されます。

初期化されていない変数のチェックをすべての定数でサポート

バージョン 9.0.030 の時点で、初期化されていない変数のチェック (/check:uninit) は、任意のコンテキストで実行するプログラムでサポートされています。以前のバージョンのようにデバッグ・ライブラリーを使用しビルドして、Visual Studio のデバッガーで実行するケースだけではありません。コンソール・アプリケーションは、(/traceback も指定されている場合はトレースバック付きで) コンソールウィンドウにメッセージを表示します。QuickWin および Windows アプリケーションは、メッセージボックスにメッセージを表示します。メッセージは次のような形式になります。

forrtl: severe (193): Run-Time Check Failure. The variable 'TEST$J' is being used without being defined

変数名は、エラーが発生したプログラムユニットの名前 (この例では TEST) のプリフィックスが追加されて表示されます。

初期化されていない変数のチェックは、現在、スカラー、ローカル変数のみに制限されている点に注意してください。配列、COMMON 変数およびルーチン引数はチェックされません。

USE 内のユーザー定義演算子の RENAME (Fortran 2003 機能)

USE ステートメントの RENAME 節は、定義済みの演算子も指定できます。次に例を示します。

USE mymod, OPERATOR(.localop.) => OPERATOR(.moduleop.)

PROTECTED 属性およびステートメント (Fortran 2003 機能)

PROTECTED 属性は、モジュール・エンティティーの使用を制限します。エンティティーに PROTECTED 属性が指定されたモジュール内以外では、次の制限が適用されます。

オブジェクトが PROTECTED 属性を持つ場合、すべてのサブオブジェクも PROTECTED 属性を持ちます。

ポインター・オブジェクトの INTENT 属性 (Fortran 2003 機能)

ポインターダミー引数は INTENT 属性を持ちます。INTENT 属性は、ポインターの関連付け状態がどのように変更されるかを制限します。ポインターのターゲットへの変更は制限しません。

MOVE_ALLOC 組み込みサブルーチン (Fortran 2003 機能)

MOVE_ALLOC 組み込みサブルーチンは、割り当て可能なオブジェクトから別のオブジェクトに割り当てを移動します。

構文: CALL MOVE_ALLOC (FROM, TO)

引数:

FROM
任意の種類およびランク。割り当て可能であること。
TO
FROM と互換の種類、同じランクで、割り当て可能であること。

TO が現在割り当てられている場合、割り当てが解除されます。その後、FROM が割り当てられた場合、TOFROM と同じ境界および同一の値で割り当てられます。最後に、FROM の割り当てが解除されます。TOTARGET 属性を持つ場合、MOVE_ALLOC への呼び出しの際に FROM に関連付けられていたすべてのポインターは TO と関連付けられます。

MOVE_ALLOC の実装は、内部ディスクリプターの内容を FROM から TO にコピーします。その結果、指すストレージは同じになります。MOVE_ALLOC を使用すると、データを 2 回コピーすることなく、より大きなサイズに変数を再割り当てする効率的な実装が可能になります。

ASSUME_ALIGNED ディレクティブ

ASSUME_ALIGNED ディレクティブは、変数のメモリー割り当てが特定のアドレス境界でアライメントされると仮定するようにコンパイラーに指示します。これは一部の最適化を支援します。

構文: cDEC$ ASSUME_ALIGNED address1:n1 [ , address2:n2] ...

address はメモリー参照 (変数名、配列参照、その他) です

n1 は、正の整数の初期化表現で、次のいずれかになります: 1, 2, 4, 8, 16, 32, 64, 128, 256

ABORT ライブラリー・ルーチンの終了ステータスの変更

モジュール IFPORT で定義された ABORT ライブラリー・ルーチンへの呼び出しによって実行を終了したプログラムの終了ステータスは、134 に設定されるようになりました。以前のリリースでは、終了ステータスは 0 に設定されていました。

EQUIVALENCE 宣言の DLLIMPORT および DLLEXPORT 属性を持つ変数

DLLIMPORT または DLLEXPORT 属性を持つ変数が EQUIVALENCE 宣言で指定された場合、コンパイラーはエラーメッセージを表示するようになりました。これは、サポートされていませんが、以前のバージョンではエラーになりませんでした。STRUCTURE 内部で UNION をインクルードするか、TRANSFER 組み込み関数を使用してください。

直接アクセス I/O でのバッファリングのサポート

直接アクセス I/O 用に開かれたユニットへのバッファリングが有効になりました。バッファリングが有効になると、ランタイム・ライブラリーは単一のディスク操作で複数のレコードを読み書きします。その結果、直接アクセス I/O を使用してレコードにインオーダーにアクセスするアプリケーションのパフォーマンスは大幅に向上しますが、レコードにアウトオブオーダーでアクセスするアプリケーションのパフォーマンスは逆に低下します。バッファリングは、OPENBUFFERED キーワード、/assume:buffered_io コンパイル・コマンド・オプション、および FORT_BUFFERED 環境変数を含めて、シーケンシャル I/O と同じ方法で有効または無効にすることができます。/fpscomp:general オプションが指定されているときは、直接アクセス I/O のバッファリングはサポートされません。

Fortran 2003 機能サマリー

インテル Fortran コンパイラーは、最新の Fortran 規格である、Fortran 2003 の多くの機能をサポートしています。現在サポートしていない Fortran 2003 機能についても、今後サポートしていく予定です。現在のコンパイラーでは、以下の Fortran 2003 機能がサポートされています。

インテル® Array Visualizer の削除

インテル C++/Fortran コンパイラー Windows 版のバージョン 9.1 から、インテル Array Visualizer コンポーネントはコンパイラーに含まれなくなりました。Array Visualizer の最新バージョンは、無料でダウンロードできます。Array Visualizer を使用するのにインテル・コンパイラーのライセンスは必要ありません。今後、Array Visualizer の保守および新バージョンの開発を行う予定はありません。Array Visualizer ユーザー用のフォーラム (http://softwareforums.intel.com/ids/board?board.id=Visualizer) (英語) は引き続き利用可能です。詳細は、フォーラムを参照してください。

Microsoft Visual Studio .NET 2002 のサポート終了について

インテル C++/Fortran コンパイラーの将来のリリースでは、Microsoft Visual Studio .NET 2002 との統合はなくなる予定です。Visual Studio .NET 2002 を使用している場合、2006 年 12 月末までに Visual Studio .NET 2003 または Visual Studio 2005 にアップグレードすることを推奨します。

IMSL Fortran ライブラリ 5.0 (プロフェッショナル・エディションのみ)

プロフェッショナル・エディションに同梱されている IMSL Fortran ライブラリ 5.0 は、報告された問題の修正を含め、アップデートされました。

詳細は、『インテル® Visual Fortran コンパイラー・ユーザーズガイド』の「ライブラリーの使用」セクションを参照してください。

cttsetup.bat を実行して IMSL 環境変数を定義する必要はなくなりました。この定義は、コマンドライン・ビルド環境セッション用に ifortvars.bat を実行したときに自動的に行われます。

動作環境

プロセッサー用語

インテル・コンパイラーは、一般的なプロセッサーとオペレーティング・システムを組み合わせた、3 つのプラットフォームをサポートしています。このセクションでは、本ドキュメント、インストール手順、およびサポートサイトでプラットフォームの記述に使用されている用語について説明します。

IA-32
IA-32 (インテル・アーキテクチャー、32 ビット) は、32 ビット・オペレーティング・システムを実行している、インテル Pentium II プロセッサーと互換性のある 32 ビット・プロセッサー (インテル® Core(TM) Duo プロセッサー、Pentium 4 プロセッサー、Pentium D プロセッサー、インテル® Xeon® プロセッサー) または同じ命令セットをサポートしている他社製のプロセッサーがベースのシステムを指します。
インテル EM64T 対応システム
64 ビット・アーキテクチャーに対応するように拡張され、Microsoft Windows XP Professional x64 Edition または Microsoft Windows Server* 2003 x64 Edition のような 64 ビット・オペレーティング・システムを実行している IA-32 プロセッサー・ベースのシステムを指します。64 ビット・オペレーティング・システムを実行している、AMD* Athlon64* プロセッサーおよび Opteron* プロセッサー・ベースのシステムも、インテル EM64T ベース・アプリケーション開発用 インテル C++ コンパイラー 9.1 でサポートされています。
Itanium ベース・システム
64 ビット・オペレーティング・システムを実行している、インテル Itanium 2 プロセッサー・ベースのシステムを指します。

ネイティブおよびクロスプラットフォーム開発

「ネイティブ」とは、アプリケーションを実行するプラットフォームと同じプラットフォームでアプリケーションをビルドする (例えば、IA-32 システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。「クロスプラットフォーム」または「クロスコンパイル」とは、アプリケーションを実行するプラットフォームとは異なる種類のプラットフォームでアプリケーションをビルドする (例えば、Itanium ベース・システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。クロスプラットフォーム開発のすべての組み合わせがサポートされているわけではありません。また、一部の組み合わせでは、オプションのツールとライブラリーをインストールする必要があります。

サポートされているホスト (アプリケーションをビルドするシステム) とターゲット (アプリケーションを実行するシステム) の組み合わせを次に示します。

ホストとターゲットの組み合わせ
ホスト\ターゲット IA-32 インテル EM64T
対応システム
Itanium
ベース・システム
IA-32
インテル EM64T 対応システム
Itanium ベース・システム
×
×

注: 上の表は、コマンドライン・ビルド環境の組み合わせを示しています。Microsoft Visual Studio .NET 2002 および 2003 は、IA-32 アプリケーションの開発のみをサポートしています。Itanium ベース・アプリケーションのクロスプラットフォーム開発は、Microsoft Visual Studio 2005 Team System Edition でのみサポートされています。Microsoft Visual Studio 2005 を Itanium ベース・システムにインストールすることはできません。

アプリケーション開発に必要な最小ハードウェア構成

IA-32 アプリケーション開発に必要なソフトウェア環境

インテル EM64T 対応システムまたは AMD Opteron プロセッサー・システム用のアプリケーション開発に必要な環境

Itanium ベース・アプリケーション開発に必要なソフトウェア環境

アプリケーション実行に必要な環境

注:

アプリケーションで使用している機械語命令が特定のオペレーティング・システムやプロセッサーでサポートされているかどうかは、アプリケーション開発者自身の責任で確認してください。

インストール

詳細は、「インストール・ガイド」を参照してください。

既知の問題

インストールに関する制限

コマンドラインからの Visual Studio プロジェクトのビルド

Visual Studio で作成したインテル Fortran プロジェクト/ソリューションをコマンドラインまたはバッチファイルからビルドする場合は、Visual Studio ランチャー、devenv.exe を使用してください。 利用可能なコマンドライン・オプションを表示するには、devenv /? と入力してください。Microsoft ツール MSBuild および Team Build は、インテル Fortran プロジェクトのビルドには現在使用できません。

Visual Studio 2005 で利用できないスタティック、シングルスレッド・ライブラリー

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 フォームを指定してください。次に例を示します。

他に何も指定していない場合、Visual Studio 2005 で ifort を使用したときのデフォルトは /libs:static /threads (/MT と同じ) です。

この問題は、Microsoft Visual Studio IDE からビルドされるプロジェクトにも影響します。この場合、プロジェクトのプロパティー [Fortran] - [ライブラリー] - [ランタイム・ライブラリー] を新しい値に変更してください。

Visual Studio 2005 のアクティブ・プラットフォーム・ドロップダウン・リスト

Visual Studio 2005 で、新規プロジェクト・プラットフォーム (x64 または Itanium) を追加した後、ツールバーのアクティブ・プラットフォーム・ドロップダウン・リストが空になります。この場合、[出力] ウィンドウをクリックしてアクティブにすると、ドロップダウン・リストの内容が表示されます。

Visual Studio 2005 のセキュリティ警告

Visual Studio 2005 の一部のエディションでは、新規 Fortran プロジェクトを作成したときにアプリケーション・ウィザードで次のような警告が表示されることがあります。

To help protect your security, your web browser has restricted this file from showing active content that could access your computer. Click here for options...

警告を無視し、[Next (次へ)] をクリックしても問題ありません。プロジェクトは通常どおり作成されます。または、警告をクリックして [Allow Blocked Content] を選択し、別のセキュリティ警告が表示されたときに [Yes (はい)] をクリックします。この警告は、新規 Visual Studio セッションで最初にプロジェクトを作成した際に表示されます。警告の原因は現在調査中です。

Itanium ベース・システムまたはインテル EM64T ベース・システムで Platform SDK を使用した場合のリンクエラー

Itanium ベース・システムまたはインテル EM64T ベース・システムで 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 と作業を行っています。この問題を回避するには、以下のいずれかの方法でアプリケーションをリンクしてください。

自動 CPU ディスパッチ (/Qax*) 使用時のデバッグ情報の制限

/Qax{W|N|B|P} を使用してコンパイルを行うと、各関数について IA-32 汎用コードと CPU 特有のコードの 2 種類のコードが生成されます。各関数のシンボルは自動 CPU ディスパッチ・ルーチンを参照して、ランタイムに実行するコードセクションを決定します。これらの関数にデバッガーのブレークポイントが名前でセットされると、ディスパッチ・ルーチンでアプリケーションが停止します。その結果、デバッグ時に予測できない動作が発生します。この問題は、インテル・デバッガーおよびインテル・コンパイラーの将来のバージョンで修正される予定です。

/Oy オプションを使用してビルドされた IA-32 プログラムをデバッグまたはトレースバック表示できない

/Oy を使用してコンパイルを行うと、IA-32 EBP レジスターはフレームポインターではなく汎用レジスターとして使用されます。デバッガーおよびトレースバック・ハンドラーは、この方法でコンパイルされた関数への呼び出しを含むスタックから適切にスタックを戻すことができません。

POSIX* ライブラリのルーチン PXFGETPPID が Windows NT 4.0 でサポートされない

POSIX ライブラリのルーチン PXFGETPPID を使用しているアプリケーションは、Windows NT 4.0 で動作しません。Windows 2000 またはそれ以降を使用してください。

デバッグ時に表示される追加の浮動小数点例外

IA-32 システム上で、-fpe:0 オプションを使用してコンパイルされ、浮動小数点例外が起こるプログラムでは、Fortran ランタイム・ライブラリーによって、追加の浮動小数点オーバーフロー例外が発生します。これは、どのバージョンの Microsoft ライブラリーがユーザーのプログラムにリンクされているかをライブラリーが判断するためです。この例外は、1 回のプログラムのプロセスに 1 度だけ発生します。デバッグ時、予測されたアンダーフローに続く予期しないオーバーフローについては、注意する必要はありません。

テクニカルサポート

インテルでは、お客様からのフィードバックを非常に重視しております。本製品で提供されるツールについてのテクニカルサポートおよび FAQ や製品のアップデート情報を含むテクニカル情報を受けるには、https://premier.intel.com (英語) でインテル・プレミアサポート・アカウントに登録してください。https://registrationcenter.intel.com/ で登録を行います。

注: 代理店がテクニカルサポートを提供している場合は、インテルではなく代理店にお問い合わせください。

インテル Visual Fortran コンパイラーのユーザーフォーラム、FAQ、ヒント、およびその他のサポート情報は、http://support.intel.com/support/performancetools/fortran/windows/ (英語) を参照してください。サポート情報全般については、http://www.intel.com/software/products/support/ (英語) を参照してください。

問題の送信方法

問題を送信する手順は次のとおりです。

  1. https://premier.intel.com/ (英語) にアクセスします。
  2. サイトにログインします。ログイン名とパスワードを入力します。どちらも大文字と小文字が区別されます。
  3. [Product] ドロップダウン・リストの隣の [Go] ボタンをクリックします。
  4. 左側のナビゲーション・バーの [Submit Issue] リンクをクリックします。
  5. [Product Type] ドロップダウン・リストから [Development Environment (tools,SDV,EAP)] を選択します。
  6. ソフトウェアまたはライセンスに関する問題の場合は、[Product Name] ドロップダウン・リストから [Intel® Fortran Compiler for Windows*] を選択します。
  7. 質問を入力します。ウィンドウの残りのフィールドも記入して、問題箇所の送信を完了します。

注: 特定の国へのアクセスを制限する必要があるソースコードを送信する場合は、ソースコードを送信する前にサポート担当者までお問い合わせください。

問題の報告および製品に関するご意見を送信される際のガイドライン

  1. 問題、その他ご意見を入力してください。
    問題の報告の場合は、その問題を再現できるように、できるだけ具体的に説明してください。コンパイラーの問題報告の場合は、できるだけコンパイラー・オプションと簡単なテストコードを追加してください。
  2. システム構成情報を入力してください。
    次のようにしてパッケージ ID 情報を取得できます。[スタート] - [すべてのプログラム] - [Intel® Software Development Tools (インテル® ソフトウェア開発ツール)] - [Intel® Fortran Compiler 9.1 (インテル® Fortran コンパイラー 9.1)] - [Build Environment for IA-32 applications (IA-32 アプリケーション用ビルド環境)] (必要に応じて IA-32 を EM64T-based (EM64T ベース) または Itanium(R)-based (Itanium® ベース) に変更してください) を選択して、コマンドウィンドウを開きます。次のコマンドを入力します。
        ifort /what
    出力された「Package ID」(例: w_fc_p_9.1.xxx) をインテル・プレミアサポートの適切なフィールドにコピーします。また、問題の解決に役立つと思われる事項はすべてお伝えください。
  3. コンパイラーをインストールできない場合、またはパッケージ ID を取得できない場合は、ダウンロードしたファイル名をパッケージ ID として入力してください。

解決済みの問題

コンパイラーの最新バージョンで修正された問題点については、インテル・プレミアサポート (https://premier.intel.com) (英語) からダウンロードできる <package ID>_README (例: w_fc_p_9.1.xxx_README) を参照してください。

Compiler Error Source Reducer (CESR)

Compiler Error Source Reducer (CESR) は、C/C++ または Fortran ソースコードで構成されたテストケースの収集、縮小、特定、保護、文書化、およびバンドルを行うユーティリティーのセットです。大規模なアプリケーションからインテル・プレミアサポートに送信する小さなテストケースを抽出する場合に便利です。CESR は、インテル・プレミアサポートの [File Downloads] セクションからダウンロードできます。CESR でファイルを検索してください。CESR は試験的に提供されているもので、サポートは提供されておりません。CESR に関するご意見およびご感想は、インテル・プレミアサポートまでお寄せください。CESR を利用するには、Python 2.2 またはそれ以降をあらかじめインストールしておく必要があります。

ドキュメント

インテル・コンパイラーのドキュメントおよび HTML ベースの関連ドキュメントは、ナビゲーション、キーワード検索、およびハイパーテキスト機能が利用できるコンパイル済み HTML ヘルプ (.CHM) 形式のファイルです。ブラウザーで .CHM ファイルを開けない場合、Windows エクスプローラーを使用して、Docs ディレクトリーでファイル名をダブルクリックしてください。

各ドキュメントに簡単にアクセスできるように、ドキュメント・インデックスが提供されています。ドキュメント・インデックスは、<install-dir>Compiler\Fortran\9.1\Docs\doc_index.htm で、インテル Visual Fortran コンパイラーのプログラム・フォルダーにあります。このリリースでは、Doc_Index.htm ファイルで説明されているようにオンラインヘルプの構成が変更され、インストール・ガイドと入門ガイドが別になりました。『Intel® Debugger Manual』(英語) は、インテル・デバッガーのプログラム・フォルダーにあります。

追加情報

関連製品とサービス

インテル・ソフトウェア開発製品の詳しい情報については、http://www.intel.co.jp/jp/developer/software/products/ を参照してください。

関連製品の一部を次にリストします。

著作権と商標について

本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sales』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む) に関しても一切責任を負わないものとします。インテル製品は、医療、救命、延命措置、重要な制御または安全システム、核施設などの目的に使用することを前提としたものではありません。

インテル製品は、予告なく仕様が変更される場合があります。

機能や命令の中に「予約済み」または「未定義」と記されているものがありますが、その機能が存在しない状態や何らかの特性を設計の前提にしてはなりません。これらの項目は、インテルが将来のために予約しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負わないものとします。

本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公開されている仕様とは異なる動作をする場合があります。現在までに判明している不具合の情報については、インテルのサポートサイトをご覧ください。

本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料で提供される情報は、情報供与のみを目的としたものであり、予告なく変更されることがあります。また、本資料で提供される情報は、インテルによる確約と解釈されるべきものではありません。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、本資料のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体によって転送したりすることは禁じられています。

Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、Xeon、VTune は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。

* その他の社名、製品名などは、一般に各社の商標および登録商標です。

(C) 2006 Intel Corporation.