Überlaufprüfung (Object Pascal)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Liste der Object Pascal-Compiler-Direktiven - Index


Typ

Option

Syntax

{$Q+} oder {$Q-} {$OVERFLOWCHECKS ON} oder {$OVERFLOWCHECKS OFF}

Vorgabe

{$Q-} {$OVERFLOWCHECKS OFF}

Bereich

Lokal



Anmerkungen

Die Direktive $Q steuert die Erzeugung von Code für die Überlaufprüfung. Im Status {$Q+} werden bestimmte arithmetische Integer-Operationen (+, -, *, Abs, Sqr, Succ, Pred, Inc und Dec) auf einen Überlauf geprüft. Dazu wird ihnen zusätzlicher Code hinzugefügt, der sicherstellt, dass das Ergebnis innerhalb des unterstützten Bereichs liegt. Das Fehlschlagen der Überlaufprüfung führt zu einer EIntOverflow-Exception (bzw. zum Programmabbruch, wenn die Exception-Behandlung nicht aktiviert ist).

Der Schalter $Q wird normalerweise zusammen mit dem Schalter $R eingesetzt, der die Erzeugung von Bereichsprüfungscode aktiviert bzw. deaktiviert. Die Aktivierung der Überlaufprüfung vergrößert und verlangsamt ein Programm. Die aktivierte Überlaufsprüfung verlangsamt und vergrößert Ihr Programm. Sie sollten {$Q+} daher nur für die Fehlersuche verwenden.