Vérification de débordement (Object Pascal)

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Liste des directives de compilation Object Pascal - Index


Type

Commutateur

Syntaxe

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

Par défaut

{$Q-} {$OVERFLOWCHECKS OFF}

Portée

Locale



Remarques

La directive $Q contrôle la génération de code qui teste le dépassement de capacité. En mode {$Q+}, certaines opérations arithmétiques entières (+, -, *, Abs, Sqr, Succ, Pred, Inc et Dec) font l'objet d'un test de dépassement de capacité. Le code de ces opérations est suivi d'un code supplémentaire vérifiant si le résultat appartient à l'intervalle valide. S'il ne l'est pas, une exception EIntOverflow est déclenchée (ou le programme s'arrête si la gestion des exceptions est désactivée).

La bascule $Q est généralement utilisée en combinaison avec la bascule $R, qui active et désactive la génération de code de test de débordement. L'activation du test de dépassement de capacité ralentit l'exécution du programme et augmente sa taille ; veillez donc à n'utiliser {$Q+} qu'en phase de débogage.