マルチスレッド・アプリケーションをサポートする再入力可能コードを生成するようにコンパイラーに指示します。
IDE オプション
Windows*:
[Code Generation (コード生成)] > [Generate Reentrant Code (再入可能コードの生成)]
Linux*:
なし
OS X*:
[Code Generation (コード生成)] > [Generate Reentrant Code (再入可能コードの生成)]
構文
Linux* および 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 オプションが設定されます。