at_quick_exit
|
Défini dans l'en-tête
<stdlib.h>
|
||
|
int
at_quick_exit
(
void
(
*
func
)
(
void
)
)
;
|
(depuis C11) | |
Enregistre la fonction pointée par
func
pour être appelée lors de la terminaison rapide du programme (via
quick_exit
).
L'appel de la fonction depuis plusieurs threads n'induit pas de course aux données. 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.
Les fonctions enregistrées ne seront pas appelées lors d'une terminaison normale du programme . Si une fonction doit être appelée dans ce cas, atexit doit être utilisé.
Table des matières |
Paramètres
| func | - | pointeur vers une fonction à appeler lors de la fin rapide 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("pushed first"); fflush(stdout); } void f2(void) { puts("pushed second"); } int main(void) { at_quick_exit(f1); at_quick_exit(f2); quick_exit(0); }
Sortie :
pushed second pushed first
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.22.4.3 La fonction at_quick_exit (p : 255)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.22.4.3 La fonction at_quick_exit (p: 351)
Voir aussi
|
provoque la terminaison anormale du programme (sans nettoyage)
(fonction) |
|
|
provoque la terminaison normale du programme avec nettoyage
(fonction) |
|
|
enregistre une fonction à appeler lors de l'invocation de
exit()
(fonction) |
|
|
(C11)
|
provoque la terminaison normale du programme sans nettoyage complet
(fonction) |
|
Documentation C++
pour
at_quick_exit
|
|