atexit
Zpracuje zadanou funkci při ukončení.
int atexit(
void (__cdecl *func )( void )
);
Parametry
- func
Funkce pro volání.
Vrácená hodnota
atexitPokud dojde k chybě, vrátí hodnotu 0 v případě úspěchu nebo nenulovou hodnotu.
Poznámky
atexit Funkce je předána adresa funkce (func) má být volána, když program skončí normálně.Následná volání atexit vytvořit rejstřík funkcí, které jsou spouštěny postupně poslední dovnitř, první ven (LIFO).Funkce předány do atexit nemůže mít parametry.atexita _onexit umožňuje ukládat rejstříku funkce haldy.Proto počet funkcí, které lze zaregistrovat je omezen pouze paměť haldy.
Kód v atexit funkce by neměla obsahovat žádné závislosti na libovolnou knihovnu DLL, která by mohla již byly odstraněny při atexit funkce je volána.
Generovat aplikace vyhovující standardu ANSI, používají ANSI standard atexit funkce (nikoli podobné _onexit funkce).
Požadavky
Rutina |
Požadované záhlaví |
---|---|
atexit |
<stdlib.h> |
Příklad
Tento program posuny č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í, 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