atexit
Processa a função especificada na saída.
int atexit(
void (__cdecl *func )( void )
);
Parâmetros
- func
Função a ser chamada.
Valor de retorno
atexit retornará 0 se tiver êxito, ou um valor diferente de zero se ocorrer um erro.
Comentários
A função de atexit é transmitida o endereço de uma função ()funca ser chamada quando o programa será encerrado normalmente. As chamadas sucessivas a atexit criam um registro das funções em que são executados no último, primeiro em expansão ordem de (LIFO). As funções transmitidas a atexit não podem ter parâmetros. atexit e _onexit usam o heap para manter o registro das funções. Assim, o número de funções que podem ser registradas é limitado apenas pela memória heap.
O código da função de atexit não deve conter qualquer dependência em uma DLL que pode já tenha sido descarregado quando a função de atexit é chamada.
Para gerar um aplicativo ANSI- compatível, use a função de atexit do padrão ANSI (em vez da função semelhante de _onexit ).
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
atexit |
<stdlib.h> |
Exemplo
Esse programa empurra quatro funções na pilha de funções serem executadas quando atexit é chamado. Quando o programa, esses programas são executadas em um último no, primeira out base.
// 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 " );
}
Equivalência do .NET Framework
System::Diagnostics::Process::Exited