reentrancy

 

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

IDE オプション

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

Linux: なし

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

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-reentrancy keyword

-noreentrancy

Windows:

/reentrancy:keyword

/noreentrancy

引数

keyword

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

none

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

async

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

threaded

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

デフォルト

noreentrancy

コンパイラーは、アプリケーションに対する再入力可能コードを生成しません。

説明

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

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

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

代替オプション

なし

関連情報