runtime_checks
pragma
/RTC
コンパイラ オプションの設定を無効化または復元します。
構文
#pragma runtime_checks( "
[ runtime-check-options ]",
{restore
|off
})
解説
コンパイラ オプションで有効になっていないランタイム チェックを有効にすることはできません。 たとえば、コマンド ラインで /RTCs
を指定しないと、#pragma runtime_checks( "s", restore)
を指定しても、スタック フレーム検証は有効になりません。
runtime_checks
pragma は関数の外側に記述する必要があり、pragma が出現した後に定義された最初の関数で適用されます。 restore
引数と off
引数は、runtime_checks
pragma で指定されたオプションのオンとオフを切り替えます。
runtime-check-options には、次の表に示す 0 個以上のパラメーターを指定できます。
runtime_checksのパラメーター Pragma
パラメーター | ランタイム チェックの種類 |
---|---|
s |
スタック (フレーム) 検証を有効にします。 |
c |
より小さいデータ型に値が代入されてデータが失われる場合に報告します。 |
u |
定義する前に変数が使用された場合に報告します。 |
これらのパラメーターは、/RTC
コンパイラ オプションで使用されるものと同じです。 次に例を示します。
#pragma runtime_checks( "sc", restore )
runtime_checks
pragma の特殊な形式として、空の文字列 (""
) でこのディレクティブを使用できます。
off
パラメーターを使用すると、このトピックの前の表で示したランタイム エラー チェックがオフになります。restore
パラメーターを使用すると、/RTC
コンパイラ オプションを使用して指定したランタイム エラー チェックにリセットされます。
#pragma runtime_checks( "", off )
/* runtime checks are off in this region */
#pragma runtime_checks( "", restore )