オーバーフローのチェック(Object Pascal)

提供: Appmethod Topics
移動先: 案内検索

Object Pascal コンパイラ指令のリスト:インデックス への移動


種類

スイッチ

構文

{$Q+} または {$Q-} {$OVERFLOWCHECKS ON} または {$OVERFLOWCHECKS OFF}

デフォルト

{$Q-} {$OVERFLOWCHECKS OFF}

スコープ

ローカル



説明

$Q 指令は,オーバーフローチェックコードの生成を制御します。{$Q+} 状態にすると,特定の整数算術演算(+,-,*,Abs,Sqr,Succ,Pred,Inc,および Dec)のオーバーフローがチェックされます。これらの整数演算のコードには,結果がサポート範囲内であることを検証するコードが追加されます。オーバーフローチェックが検出されると,EIntOverflow 例外が生じます(例外ハンドラを使用できない場合はプログラムが終了します)。

$Q スイッチは,常に $R スイッチとともに使用され,範囲検査コードの生成を使用可能または使用不可にします。オーバーフローのチェックを有効にすると,プログラムは遅くなり,またいくらか大きくなるため,{$Q+} はデバッグにのみ使用してください。