オーバーフローのチェック(Delphi)
Delphi コンパイラ指令のリスト:インデックス への移動
種類 |
スイッチ |
構文 |
{$Q+} または {$Q-} {$OVERFLOWCHECKS ON} または {$OVERFLOWCHECKS OFF} |
デフォルト |
{$Q-} {$OVERFLOWCHECKS OFF} |
スコープ |
ローカル |
説明
$Q 指令は,オーバーフローチェックコードの生成を制御します。{$Q+} 状態にすると,特定の整数算術演算(+,-,*,Abs,Sqr,Succ,Pred,Inc,および Dec)のオーバーフローがチェックされます。これらの整数演算のコードには,結果がサポート範囲内であることを検証するコードが追加されます。オーバーフローチェックが検出されると,EIntOverflow 例外が生じます(例外ハンドラを使用できない場合はプログラムが終了します)。
$Q スイッチは,常に $R スイッチとともに使用され,範囲検査コードの生成を使用可能または使用不可にします。オーバーフローのチェックを有効にすると,プログラムは遅くなり,またいくらか大きくなるため,{$Q+} はデバッグにのみ使用してください。