Share via


atexit

Processa a função especificada ao sair.

int atexit(
   void (__cdecl *func )( void )
);

Parâmetros

  • func
    Função seja chamada.

Valor de retorno

atexit Retorna 0 se obtiver êxito, ou um valor diferente de zero se ocorrer um erro.

Comentários

The atexit função é passada o endereço de uma função (func) a ser chamado quando o programa é encerrado normalmente. Sucessivas chamadas a atexit Crie um registro das funções que são executadas na última-in, ordem de fila (UEPS). As funções são passadas para atexit não é possível usar parâmetros. atexit e _onexit Use a pilha para manter o registro das funções. Assim, o número de funções que podem ser registrados é limitado apenas pela memória heap.

O código a atexit função não deve conter qualquer dependência em qualquer DLL que foi já tenham sido descarregado quando o atexit função é chamada.

Para gerar um aplicativo compatível com ANSI, use o padrão ANSI atexit função (em vez do semelhantes _onexit função).

Requisitos

Rotina

Cabeçalho necessário

atexit

<stdlib.h>

Exemplo

Este programa coloca quatro funções na pilha de funções a serem executadas quando atexit é chamado. Quando o programa for encerrado, esses programas são executados em uma última, primeiro 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 " );
}

This is executed first. This is executed next.

Equivalente do NET Framework

sistema::Diagnóstico::processo:: saída

Consulte também

Referência

Processo e ambiente de controle

anular

sair, _exit

_onexit, _onexit_m