atexit
Procesa la función especificada en la salida.
int atexit(
void (__cdecl *func )( void )
);
Parámetros
- func
Función que se va a llamar.
Valor devuelto
atexit devuelve 0 si es correcto, o un valor distinto de cero si se produce un error.
Comentarios
La función de atexit se pasa la dirección de una función (func) que se llamará cuando el programa termina normalmente. Las llamadas sucesivas a atexit crean un registro de las funciones pasado- en las que se ejecutan en, primer - out orden de (LIFO). Las funciones pasadas a atexit no pueden tomar parámetros. atexit y _onexit utilizan el montón para contener el registro de funciones. Así, el número de funciones que pueden ser registradas está limitado por la memoria del montón.
El código de la función de atexit no debe contener ninguna dependencia en ningún DLL que han podido descargar ya cuando se llama a la función de atexit .
Para generar una aplicación de ANSI- bajo, utilice la función de atexit del estándar ANSI (en lugar de la función similar de _onexit ).
Requisitos
Rutina |
Encabezado necesario |
---|---|
atexit |
<stdlib.h> |
Ejemplo
Este programa inserta cuatro funciones en la pila de funciones que se ejecutarán cuando se llama a atexit . Cuando se ejecutan a resultados de programa, estos programas del último en entrar, primero en salir 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 " );
}
Equivalente en .NET Framework
System::Diagnostics::Process::Exited