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

reentrancy

マルチスレッド・アプリケーションをサポートする再入力可能コードを生成するようにコンパイラーに指示します。

構文

Linux* および macOS*:

-reentrancy keyword

-noreentrancy

Windows*:

/reentrancy:keyword

/noreentrancy

引数

keyword

プログラムに関する詳細を指定します。設定可能な値は以下のとおりです。

none

プログラムがスレッド化または非同期の再入可能性に依存しないことをランタイム・ライブラリー (RTL) に通知します。ランタイム・ライブラリーは、そうした割り込みからそれ自体のクリティカル領域を防ぐ必要がなくなります。これは noreentrancy と同じです。

async

プログラムが RTL をコールできる非同期 (AST) ハンドラーを持っている可能性があることを RTL に通知します。RTL は、AST 割り込みからそれ自体のクリティカル領域を防ぎます。

threaded

(POSIX スレッド・ライブラリーを使用しているプログラムなど) プログラムがマルチスレッド化されていることを RTL に通知します。ランタイム・ライブラリーは、スレッドロッキングによって、それ自体のクリティカル領域を保護します。

デフォルト

threaded

コンパイラーは、プログラムがマルチスレッド化されていることを RTL に通知します。

説明

このオプションは、マルチスレッド・アプリケーションをサポートする再入力可能コードを生成するようにコンパイラーに指示します。

reentrancy の keyword を指定しない場合、reentrancy threaded と同じです。

確実にスレッドセーフ/再入可能なランタイム・ライブラリーがリンクされ、正しく初期化されるように、リンク段階およびメインルーチンのコンパイルで reentrancy threaded オプションを使用すべきです。

threads オプションを指定すると、マルチスレッド・コードは再入可能でなければならないので、reentrancy threaded オプションが設定されます。

IDE オプション

Visual Studio*: [Code Generation (コード生成)] > [Generate Reentrant Code (再入可能コードの生成)]

Eclipse*: なし

Xcode*: [Code Generation (コード生成)] > [Generate Reentrant Code (再入可能コードの生成)]

代替オプション

なし

関連情報