インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

Fortran DLL アプリケーション用カスタムハンドラー

Fortran DLL アプリケーションのカスタムハンドラーの作成には 2 つの方法があります。

Fortran DLL にエラーと例外を含める方法

Fortran DLL をビルドして、他の言語で記述されたメインプログラムからその呼び出しを行う場合、DLL のエラーと例外がメイン・アプリケーションをクラッシュさせないように注意してください。

Fortran DLL をビルドする際に注意しなければならないいくつかの基本原則を次に示します。

Fortran DLL で浮動小数点トラップを有効にする方法

DLL で発生する浮動小数点トラップ条件をどのように処理するかを考える前に、トラップが発生するように、トラップをアンマスクする方法について考える必要があります。/fpe:3 でコンパイルし、浮動小数点ステータスワードをポーリングして例外をチェックする場合、トラップをアンマスクする方法を考慮する必要はありません。このような場合は、トラップをアンマスクしません。

ただし、/fpe:0 でコンパイルし、浮動小数点例外をトラップする場合、浮動小数点コントロール・ワードのトラップをアンマスクする作業が必要になります。これは、多くの言語がデフォルトでトラップをマスクするためです。

Fortran コンソールまたは Fortran QuickWin (またはスタンダード・グラフィックス) アプリケーションでは、自動的にトラップがアンマスクされます。これは、Fortran ランタイムシステムがメインプログラムを提供し、実際のアプリケーション・コードが実行される前にプロローグコードを実行する MAIN__ を呼び出すためです。ほかの言語により呼び出される Fortran DLL では、この処理は行われません。言語により初期化環境は異なります。目的に合った、最適な環境を構築するようにしてください。

関連情報