Namensräume
Varianten
Aktionen

_Exit

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

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

An Funktionen, die an at_quick_exit() oder atexit() übergeben wurden, wird nicht aufgerufen. Ob offene Streams mit ungeschriebenen gepufferten Daten geleert, offene Streams geschlossen oder temporäre Dateien entfernt werden, ist implementierungsabhängig.

Wenn exit_code 0 oder EXIT_SUCCESS ist, wird ein implementierungsdefinierter Status, der die erfolgreiche Beendigung anzeigt, an die Host-Umgebung zurückgegeben. Wenn exit_code EXIT_FAILURE ist, wird ein implementierungsdefinierter Status zurückgegeben, der die *nicht erfolgreiche* Beendigung anzeigt. In anderen Fällen wird ein implementierungsdefinierter Statuswert zurückgegeben.

Inhalt

[bearbeiten] Parameter

exit_code - Beendigungsstatus des Programms

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Beispiel

#include <stdlib.h>
#include <stdio.h>
 
/* _Exit does not call functions registered with atexit. */
void f1(void)
{
    puts("pushed first");
}
 
void f2(void)
{
    puts("pushed second");
}
 
int main(void)
{
    printf("Enter main()\n");
    atexit(f1);
    atexit(f2);
    fflush(stdout);   /* _Exit may not flush unwritten buffered data */
    _Exit(0);
}

Ausgabe

Enter main()

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.22.4.5 Die Funktion _Exit (S. 256)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.22.4.5 Die Funktion _Exit (S. 352)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.20.4.4 Die Funktion _Exit (S. 316)

[bearbeiten] Siehe auch

verursacht abnormalen Programmabbruch (ohne Bereinigung)
(Funktion) [bearbeiten]
verursacht normalen Programmabbruch mit Bereinigung
(Funktion) [bearbeiten]