#pragma
Les directives #pragma
sont spécifiques à un compilateur particulier. Lorsque la directive est inconnue au compilateur courant, il lignore. Nous ne donnons ici que les principales directives de ce type de Turbo C++.
Placée avant une fonction, la directive :
#pragma argsused
invalide le message Warning : Parameter 'xxx' is never used, le paramètre 'xxx' nest jamais utilisé. Elle ne vaut que pour la fonction qui la suit, mais peut être répétée.
La directive :
#pragma startup fonction [priorité]
indique au compilateur dexécuter la fonction de démarrage fonction
avant main
. Il doit sagir dune fonction sans paramètre et sans résultat : void fonction(void)
. Le numéro de priorité qui suit est facultatif, sa valeur par défaut est 100. Les fonctions de démarrage sont lancées dans lordre du plus petit numéro de priorité au plus grand ; ces numéros doivent se trouver entre 64 et 255, les valeurs 0 à 63 étant réservées aux librairies standard.
De manière similaire, la directive :
#pragma exit fonction [priorité]
indique au compilateur dexécuter la fonction de sortie fonction
après la fin du programme ; il doit aussi sagir dune fonction sans paramètre et sans résultat. Le sens du numéro de priorité est identique. Les fonctions de sortie ne sont pas exécutées si le programme est interrompu par _exit
ou abort
, mais elles le sont sil est interrompu par exit
ou en cas de terminaison normale (fin de main
).
Précédent | Sommaire | Suivant |