atexit
|
Défini dans l'en-tête
<stdlib.h>
|
||
|
int
atexit
(
void
(
*
func
)
(
void
)
)
;
|
||
Enregistre la fonction pointée par
func
pour être appelée lors de la terminaison normale du programme (via
exit()
ou retour depuis
main()
). Les fonctions seront appelées dans l'ordre inverse de leur enregistrement, c'est-à-dire que la fonction enregistrée en dernier sera exécutée en premier.
La même fonction peut être enregistrée plus d'une fois.
L'implémentation garantit la prise en charge de l'enregistrement d'au moins 32 fonctions. La limite exacte est définie par l'implémentation.
Table des matières |
Paramètres
| func | - | pointeur vers une fonction à appeler lors de la fin normale du programme |
Valeur de retour
0 si l'enregistrement réussit, valeur non nulle sinon.
Exemple
#include <stdlib.h> #include <stdio.h> void f1(void) { puts("f1"); } void f2(void) { puts("f2"); } int main(void) { if ( ! atexit(f1) && ! atexit(f2) && ! atexit(f2) ) return EXIT_SUCCESS ; // atexit registration failed return EXIT_FAILURE ; } // <- if registration was successful calls f2, f2, f1
Sortie :
f2 f2 f1
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.22.4.2 La fonction atexit (p: 255)
- Norme C11 (ISO/IEC 9899:2011):
-
- 7.22.4.2 La fonction atexit (p: 350)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.20.4.2 La fonction atexit (p: 315)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 7.10.4.2 La fonction atexit (p: 156)
Voir aussi
|
(C11)
|
enregistre une fonction à appeler lors
quick_exit
de l'appel
(fonction) |
|
Documentation C++
pour
atexit
|
|