Namespaces
Variants

quick_exit

From cppreference.net
Défini dans l'en-tête <stdlib.h>
_Noreturn void quick_exit ( int exit_code ) ;
(depuis C11)
(jusqu'à C23)
[ [ noreturn ] ] void quick_exit ( int exit_code ) ;
(depuis C23)

Provoque l'arrêt normal du programme sans nettoyage complet des ressources.

Les fonctions passées à at_quick_exit sont appelées dans l'ordre inverse de leur enregistrement. Après l'appel des fonctions enregistrées, appelle _Exit ( exit_code ) .

Les fonctions passées à atexit ou les gestionnaires de signaux passés à signal ne sont pas appelés.

Table des matières

Paramètres

exit_code - statut de sortie du programme

Valeur de retour

(aucun)

Exemple

#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
    puts("pushed first");
    fflush(stdout);
}
void f2(void)
{
    puts("pushed second");
}
void f3(void)
{
    puts("won't be called");
}
int main(void)
{
    at_quick_exit(f1);
    at_quick_exit(f2);
    atexit(f3);
    quick_exit(0);
}

Sortie :

pushed second
pushed first

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.22.4.7 La fonction quick_exit (p: 257)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.22.4.7 La fonction quick_exit (p: 353)

Voir aussi

provoque la terminaison anormale du programme (sans nettoyage)
(fonction)
enregistre une fonction à appeler lors de l'invocation de exit()
(fonction)
enregistre une fonction à appeler lors de l'invocation de quick_exit
(fonction)
Documentation C++ pour quick_exit