runtime_checks pragma

/RTC コンパイラ オプションの設定を無効化または復元します。

構文

#pragma runtime_checks( " [ runtime-check-options ] ", { restore | off } )

解説

コンパイラ オプションで有効になっていないランタイム チェックを有効にすることはできません。 たとえば、コマンド ラインで /RTCs を指定しないと、#pragma runtime_checks( "s", restore) を指定しても、スタック フレーム検証は有効になりません。

runtime_checkspragma は関数の外側に記述する必要があり、pragma が出現した後に定義された最初の関数で適用されます。 restore 引数と off 引数は、runtime_checkspragma で指定されたオプションのオンとオフを切り替えます。

runtime-check-options には、次の表に示す 0 個以上のパラメーターを指定できます。

runtime_checks プラグマのパラメーター

パラメーター ランタイム チェックの種類
s スタック (フレーム) 検証を有効にします。
c より小さいデータ型に値が代入されてデータが失われる場合に報告します。
u 定義する前に変数が使用された場合に報告します。

これらのパラメーターは、/RTC コンパイラ オプションで使用されるものと同じです。 次に例を示します。

#pragma runtime_checks( "sc", restore )

runtime_checkspragma の特殊な形式として、空の文字列 ("") でこのディレクティブを使用できます。

  • off パラメーターを使用すると、このトピックの前の表で示したランタイム エラー チェックがオフになります。

  • restore パラメーターを使用すると、/RTC コンパイラ オプションを使用して指定したランタイム エラー チェックにリセットされます。

#pragma runtime_checks( "", off )
/* runtime checks are off in this region */
#pragma runtime_checks( "", restore )

関連項目

pragma ディレクティブと __pragma および _Pragma キーワード