Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Processa a função especificada na saída.
Sintaxe
int atexit(
void (__cdecl *func )( void )
);
Parâmetros
func
Função a ser chamada.
Valor retornado
atexit retorna 0 se for bem-sucedido ou um valor diferente de zero se ocorrer um erro.
Comentários
A função atexit é passada para o endereço de uma função func a ser chamada quando o programa terminar normalmente. Chamadas sucessivas para atexit criam um registro das funções que são executadas na ordem UEPS (último a entrar, primeiro a sair). As funções passadas para atexit não podem receber parâmetros. atexit e _onexit usam o heap para conter o registro das funções. Assim, o número de funções que podem ser registradas é limitado apenas pela memória de heap.
O código na função atexit não deve conter nenhuma dependência de nenhuma DLL que possa já ter sido descarregada quando a função atexit for chamada.
Para gerar um aplicativo em conformidade com o ANSI, use a função atexit do padrão ANSI (em vez da função _onexit semelhante).
Requisitos
| Rotina | Cabeçalho necessário |
|---|---|
atexit |
<stdlib.h> |
Exemplo
Esse programa envia quatro funções para a pilha de funções a serem executadas quando atexit é chamado. Quando o programa é encerrado, esses programas são executados no esquema último a entrar, primeiro a sair.
// 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 " );
}
This is executed first.
This is executed next.
Confira também
Controle de processo e ambiente
abort
exit, _Exit, _exit
_onexit, _onexit_m