atexit, #pragma exit et les destructeurs
Remonter à Destructeurs - Index
Tous les objets globaux sont actifs tant que le code au niveau des procédures de sortie n'est pas exécuté. Les variables locales, y compris celles déclarées dans main, sont détruites dès qu'elles sortent de la portée. L'ordre d'exécution à la fin d'un programme est, dans ce cas, le suivant :
- Les fonctions
atexit()
sont exécutées dans l'ordre où elles ont été entrées. - Les fonctions de sortie #pragma exit sont exécutées dans l'ordre de leurs codes de priorité.
- Les destructeurs des variables globales sont appelés.