Vérification de débordement (Delphi)
Remonter à Liste des directives de compilation Delphi - 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.