atexit
|
Definiert in Header
<stdlib.h>
|
||
|
int
atexit
(
void
(
*
func
)
(
void
)
)
;
|
||
Registriert die Funktion, auf die
func
zeigt, um beim normalen Programmende (durch
exit()
oder Rückkehr aus
main()
) aufgerufen zu werden. Die Funktionen werden in umgekehrter Reihenfolge ihrer Registrierung aufgerufen, d.h. die zuletzt registrierte Funktion wird zuerst ausgeführt.
Dieselbe Funktion kann mehr als einmal registriert werden.
Die Implementierung garantiert die Unterstützung der Registrierung von mindestens 32 Funktionen. Das genaue Limit ist implementierungsdefiniert.
Inhaltsverzeichnis |
Parameter
| func | - | Zeiger auf eine Funktion, die beim normalen Programmende aufgerufen wird |
Rückgabewert
0 wenn die Registrierung erfolgreich ist, andernfalls ein Wert ungleich Null.
Beispiel
#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
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)
Siehe auch
|
(C11)
|
registriert eine Funktion, die beim Aufruf von
quick_exit
aufgerufen werden soll
(Funktion) |
|
C++-Dokumentation
für
atexit
|
|