#include <stdlib.h> // <cstdlib> en C++
void _Exit( int codeRetour );
La fonction _Exit permet de sortir immédiatement du programme en cours d'exécution. Tout comme pour la fonction exit,
il est possible de spécifier un code de sortie. Une valeur nulle (0 ou constanteEXIT_SUCCESS) indique au système d'exploitation que l'exécution de ce
programme s'est bien déroulée. Tout autre valeur indique une sortie anormale du programme (la constante EXIT_FAILURE peut aussi être utilisée).
Contrairement aux fonctions exit ou quick_exit, aucune fonction enregistrées pour
exécution lors de la sortie du programme (via atexit ou at_quick_exit) ne
sera déclenchée. Par conséquence, la sortie sera d'autant plus rapide.
Cette fonction ne revoit pas de valeur étant donnée que le programme est stoppé.
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 exitFunction() { puts( "Fonction de sortie normale" ); } void quickExitFunction() { puts( "Fonction de sortie rapide" ); } int main() { // Enregistrement de fonctions de sortie du programme atexit( exitFunction ); at_quick_exit( quickExitFunction ); // Demande de sortie immédiate, sans appels aux fonctions de sortie. _Exit( 0 ); return EXIT_SUCCESS; } |
Et voici les résultats produits par cet exemple : notez bien qu'aucune des fonctions enregistrées pour exécution en fin de processus n'est déclenchée !
$> gcc -o sample sample.c $> ./sample $>
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 :