#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 :