Namensräume
Varianten
Aktionen

quick_exit

Von cppreference.com
Definiert im Header <stdlib.h>
_Noreturn void quick_exit( int exit_code );
(seit C11)
(bis C23)
[[noreturn]] void quick_exit( int exit_code );
(seit C23)

Verursacht die normale Programmbeendigung, ohne die Ressourcen vollständig zu bereinigen.

Funktionen, die an at_quick_exit übergeben werden, werden in umgekehrter Reihenfolge ihrer Registrierung aufgerufen. Nach dem Aufruf der registrierten Funktionen wird _Exit(exit_code) aufgerufen.

Funktionen, die an atexit übergeben werden, oder Signal-Handler, die an signal übergeben werden, werden nicht aufgerufen.

Inhalt

[bearbeiten] Parameter

exit_code - Beendigungsstatus des Programms

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Beispiel

#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);
}

Ausgabe

pushed second
pushed first

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.22.4.7 Die Funktion quick_exit (S. 257)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.22.4.7 Die Funktion quick_exit (S. 353)

[bearbeiten] Siehe auch

verursacht abnormalen Programmabbruch (ohne Bereinigung)
(Funktion) [bearbeiten]
registriert eine Funktion, die beim Aufruf von exit() aufgerufen werden soll
(Funktion) [bearbeiten]
registriert eine Funktion, die bei Aufruf von quick_exit aufgerufen wird
(Funktion) [bearbeiten]
C++ Dokumentation für quick_exit