atexit
Von cppreference.com
< c | Programmierung
| Definiert im Header <stdlib.h> |
||
| int atexit( void (*func)(void) ); |
||
Registriert die durch func zeigende Funktion, die bei normaler Programtermination (mittels exit() oder Rückkehr aus main()) aufgerufen werden soll. Die Funktionen werden in umgekehrter Reihenfolge ihrer Registrierung aufgerufen, d.h. die zuletzt registrierte Funktion wird zuerst ausgeführt.
Dieselbe Funktion kann mehrfach registriert werden.
Die Implementierung garantiert die Unterstützung für die Registrierung von mindestens 32 Funktionen. Die genaue Grenze ist implementierungsabhängig.
Inhalt |
[edit] Parameter
| func | - | Zeiger auf eine Funktion, die bei normaler Programtermination aufgerufen werden soll |
[edit] Rückgabewert
0 bei erfolgreicher Registrierung, ein von Null verschiedener Wert andernfalls.
[edit] Beispiel
Führen Sie diesen Code aus
#include <stdlib.h> #include <stdio.h> void f1(void) { puts("f1"); } void f2(void) { puts("f2"); } int main(void) { if ( ! atexit(f1) && ! atexit(f2) && ! atexit(f2) ) return EXIT_SUCCESS ; // atexit registration failed return EXIT_FAILURE ; } // <- if registration was successful calls f2, f2, f1
Ausgabe
f2 f2 f1
[edit] Referenzen
- C17-Standard (ISO/IEC 9899:2018)
- 7.22.4.2 Die atexit-Funktion (S. 255)
- C11-Standard (ISO/IEC 9899:2011)
- 7.22.4.2 Die atexit-Funktion (S. 350)
- C99-Standard (ISO/IEC 9899:1999)
- 7.20.4.2 Die atexit-Funktion (S. 315)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 7.10.4.2 Die atexit-Funktion (S. 156)
[edit] Siehe auch
| (C11) |
registriert eine Funktion, die beim Aufruf von quick_exit aufgerufen werden soll (Funktion) |
| C++-Dokumentation für atexit
| |