atexit
Przetwarza podanej funkcji przy zamykaniu.
int atexit(
void (__cdecl *func )( void )
);
Parametry
- func
Funkcja ma być wywoływana.
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 Funkcja jest przekazywany adres funkcji (func) ma być wywoływana po program zakończy się normalnie.Kolejne wywołania atexit tworzenia rejestru funkcje, które są wykonywane w ostatnio, w celu wytworzenia.Funkcje przekazany do atexit nie może mieć parametrów.atexiti _onexit użyć sterty do przechowywania rejestru funkcji.W efekcie liczba funkcje, które mogą być rejestrowane jest ograniczona jedynie przez pamięć sterty.
Kod w atexit funkcja nie powinna zawierać wszelkie zależności każdej biblioteki DLL, która może już zostały wyładowane po atexit funkcja jest wywoływana.
Aby wygenerować aplikacja ze standardem ANSI, należy użyć standardu ANSI atexit funkcja (a nie podobne _onexit funkcji).
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
atexit |
<stdlib.h> |
Przykład
Ten program suwów cztery funkcje na stosie z funkcji ma zostać wykonana po atexit nazywa się.Po zamyka program, programy te są wykonywane na ostatnim w, najpierw się podstawy.
// 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:: został zakończony