atexit
Zadanou funkci při ukončení procesů.
int atexit(
void (__cdecl *func )( void )
);
Parametry
- func
Funkce pro volání.
Vrácená hodnota
atexitVrátí 0, pokud je úspěšná nebo nenulovou hodnotu, pokud dojde k chybě.
Poznámky
atexit Je funkce předána adresa funkce (func) při obvykle ukončí program.Následná volání atexit vytvoření rejstříku funkce, které jsou provedeny v poslední v pořadí budou (LIFO).Funkce předány atexit nelze převzít parametry.atexita _onexit použití haldy držet rejstříku funkce.Tedy počet funkcí, které lze registrovat je omezen pouze paměť haldy.
Kód v atexit funkce by neměla obsahovat žádné závislost na libovolnou knihovnu DLL, které by mohly mít již uvolněna při atexit je volána funkce.
Chcete-li generovat standardu ANSI aplikace používají ANSI standard atexit funkce (spíše než podobné _onexit funkci).
Požadavky
Rutina |
Požadované záhlaví |
---|---|
atexit |
<stdlib.h> |
Příklad
Tento program posune čtyř funkcí do zásobníku funkce, které mají být provedeny při atexit se nazývá.Při ukončení programu, tyto programy jsou spouštěny na poslední, první mimo základ.
// 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 " );
}
Ekvivalent v rozhraní .NET Framework
System::Diagnostics::Process:: byl ukončen