atexit ist definiert in der stdlib
, die in C über stdlib.h
, bzw. in C++ über cstdlib
eingebunden wird.
Mit atexit kann man Funktionen registrieren die beim Beenden des Programmes aufgerufen werden. Verwenden kann man dies gut vor allem für Aufräumroutinen.
#include <stdlib.h> int atexit ( void ( * function ) (void) );;
function: Zeiger auf eine Funktion mit der Signatur 'void function(void)'
#include <stdlib.h> int * evil_global_int; void cleanUp(); int main( void ) { // Aufräumfunktion registrieren atexit(&cleanUp); evil_global_int = (int)malloc( 10 * sizeof(int) ); return 0; } void cleanUp() { // Speicher wieder freigeben if( evil_global_int ) free( evil_global_int ); }