Rechercher
 

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 :

Fonction _Exit (C99)

La fonction exit La macro EXIT_FAILURE


Entête à inclure

#include <stdlib.h>  // <cstdlib> en C++

Fonction _Exit (C99)

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).

tant que possible préférrez une sortie normale du processus afin de garantir l'exécution de toutes les tâches de finalisation dépendantes du système : flush et fermetures des flux, suppression des fichiers temporaires, ...

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.

Paramètres

Valeur de retour

Cette fonction ne revoit pas de valeur étant donnée que le programme est stoppé.

Exemple de code

 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;
}
Exemple d'utilisation de la fonction at_quick_exit

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
$>

Sujets connexes

<stdlib.h>
atexit
at_quick_exit
_Exit
quick_exit
system


La fonction exit La macro EXIT_FAILURE