atexit
|
Definido en el encabezado
<stdlib.h>
|
||
|
int
atexit
(
void
(
*
func
)
(
void
)
)
;
|
||
Registra la función apuntada por
func
para ser llamada en la terminación normal del programa (mediante
exit()
o retornando desde
main()
). Las funciones serán llamadas en orden inverso al que fueron registradas, es decir, la función registrada al último será ejecutada primero.
La misma función puede registrarse más de una vez.
La implementación garantiza soportar el registro de al menos 32 funciones. El límite exacto está definido por la implementación.
Contenidos |
Parámetros
| func | - | puntero a una función que será llamada en la terminación normal del programa |
Valor de retorno
0 si el registro tiene éxito, valor distinto de cero en caso contrario.
Ejemplo
#include <stdlib.h> #include <stdio.h> void f1(void) { puts("f1"); } void f2(void) { puts("f2"); } int main(void) { if ( ! atexit(f1) && ! atexit(f2) && ! atexit(f2) ) return EXIT_SUCCESS ; // atexit registration failed return EXIT_FAILURE ; } // <- if registration was successful calls f2, f2, f1
Salida:
f2 f2 f1
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.22.4.2 La función atexit (p: 255)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.22.4.2 La función atexit (p: 350)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.20.4.2 La función atexit (p: 315)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 7.10.4.2 La función atexit (p: 156)
Véase también
|
(C11)
|
registra una función para ser llamada en
quick_exit
invocación
(función) |
|
Documentación de C++
para
atexit
|
|