Compartilhar via


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

Consulte também

Referência

Processo e controle de ambiente

abort

exit, _exit

_onexit, _onexit_m