#include <stdlib.h> // <cstdlib> en C++
int at_quick_exit( void ( * function ) (void) );
Cette fonction, introduite par le standard C ISO 2011 (C11), permet d'ajouter une fonction qui sera exécutée suite à un appel à la fonction quick_exit
pour sortir du processus en cours.
Lors d'une sortie rapide, les tâches habituelles de finalisation du processus ne seront pas exécutées.
void ( * function ) (void)
(aucun paramètre et aucune valeur de retour).
La valeur 0
est revoyée si la fonction est correctement ajoutée. Une valeur non nulle est renvoyée dans le cas inverse.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <stdio.h> #include <stdlib.h> void quickExitFunction1() { puts( "Première fonction de sortie rapide enregistrée" ); } void quickExitFunction2() { puts( "Seconde fonction de sortie rapide enregistrée" ); } int main() { // Enregistrement de fonctions de rappels de sortie rapide at_quick_exit( quickExitFunction1 ); at_quick_exit( quickExitFunction2 ); // Demande de sortie rapide quick_exit( 0 ); return EXIT_SUCCESS; } |
Et voici les résultats produits par cet exemple :
$> gcc -o sample sample.c $> ./sample Seconde fonction de sortie rapide enregistrée Première fonction de sortie rapide enregistrée $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :