atexit
Przetwarza określonej funkcji, przy zamykaniu.
int atexit(
void (__cdecl *func )( void )
);
Parametry
- func
Wywołanie funkcji.
Wartość zwracana
atexitZwraca wartość 0, jeśli kończy się pomyślnie lub wartość różną od zera w przypadku wystąpienia błędu.
Uwagi
atexit Funkcji przekazywany jest adres funkcji (func) ma być wywoływana, gdy program zakończy się normalnie.Kolejne wywołania atexit utworzyć rejestr funkcje, które są wykonywane w last-in, first-out (LIFO) zamówienia.Przekazany do funkcji atexit nie mogą mieć parametrów.atexiti _onexit umożliwia przytrzymaj rejestru funkcje sterty.W ten sposób liczba funkcje, które mogą być rejestrowane jest ograniczona jedynie przez pamięć sterty.
Kod w atexit funkcja nie powinna zawierać żadnych zależności każdej biblioteki DLL, która mogłaby już zostały rozładowane podczas atexit wywoływana jest funkcja.
Aby wygenerować aplikacja ze standardem ANSI, należy użyć standardu ANSI atexit funkcji (zamiast podobnych _onexit funkcji).
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
atexit |
<stdlib.h> |
Przykład
Ten program wypychanie cztery funkcje w stosie funkcje, które mają być wykonane, gdy atexit jest wywoływana.Gdy program kończy działanie, programy te są wykonywane ostatnio, najpierw out Podstawa.
// crt_atexit.c
#include <stdlib.h>
#include <stdio.h>
void fn1( void ), fn2( void ), fn3( void ), fn4( void );
int main( void )
{
atexit( fn1 );
atexit( fn2 );
atexit( fn3 );
atexit( fn4 );
printf( "This is executed first.\n" );
}
void fn1()
{
printf( "next.\n" );
}
void fn2()
{
printf( "executed " );
}
void fn3()
{
printf( "is " );
}
void fn4()
{
printf( "This " );
}
Odpowiednik w programie .NET Framework
System::Diagnostics::Process:: zakończony