Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Registriert eine Routine, die zum Zeitpunkt der Beendigung aufgerufen werden soll.
Syntax
_onexit_t _onexit(
_onexit_t function
);
_onexit_t_m _onexit_m(
_onexit_t_m function
);
Parameter
function
Zeiger an eine bei Beendigung aufzurufende Funktion.
Rückgabewert
_onexit gibt einen Zeiger auf die Funktion zurück, wenn die Funktion erfolgreich war oder NULL wenn kein Platz zum Speichern des Funktionszeigers vorhanden ist.
Hinweise
Wenn das Programm normal beendet wird, wird die Adresse einer aufzurufenden Funktion (function) der _onexit-Funktion übergeben. Aufeinanderfolgende Aufrufe von _onexit führen zur Erstellung eines Registers von Funktion, die in LIFO-Reihenfolge (last-in, first-out) ausgeführt werden. Die übergebenen _onexit Funktionen können keine Parameter annehmen.
In dem Fall, wenn _onexit aus einer DLL aufgerufen wird, Routinen, die beim _onexit Entladen der DLL registriert sind, nach DllMain dem Aufruf mit DLL_PROCESS_DETACH.
_onexit ist eine Microsoft-Erweiterung. Verwenden Sie atexitfür DIE ANSI-Portabilität . Die _onexit_m-Version der Funktion besteht zur Verwendung des gemischten Modus.
Anforderungen
| Routine | Erforderlicher Header |
|---|---|
_onexit |
<stdlib.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_onexit.c
#include <stdlib.h>
#include <stdio.h>
/* Prototypes */
int fn1(void), fn2(void), fn3(void), fn4 (void);
int main( void )
{
_onexit( fn1 );
_onexit( fn2 );
_onexit( fn3 );
_onexit( fn4 );
printf( "This is executed first.\n" );
}
int fn1()
{
printf( "next.\n" );
return 0;
}
int fn2()
{
printf( "executed " );
return 0;
}
int fn3()
{
printf( "is " );
return 0;
}
int fn4()
{
printf( "This " );
return 0;
}
Output
This is executed first.
This is executed next.
Siehe auch
Prozess- und Umgebungskontrolle
atexit
exit, _Exit_exit
__dllonexit