Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

atexit

Traite la fonction spécifiée à la sortie.

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

func

Fonction à appeler.

atexit retourne 0 si a réussi, ou une valeur différente de zéro si une erreur se produit.

La fonction atexit se voit passer l'adresse d'une fonction (func) à appeler lorsque le programme se termine normalement. Les appels successifs à atexit créent un registre des fonctions exécutées dans l'ordre dernier entré premier sorti (LIFO). Les fonctions transmises à atexit ne peuvent pas prendre de paramètres. atexit et _onexit utilisent le tas pour tenir le registre des fonctions. Par conséquent, le nombre de fonctions qui peuvent être stockées n'est limité que par la mémoire de tas.

Le code de la fonction atexit ne doit pas contenir de dépendance sur aucun DLL qui peut avoir déjà été déchargé quand la fonction atexit a été appelée.

Pour générer une application conforme à l'ANSI, utilisez la fonction ANSI standard atexit (plutôt que la fonction similaire _onexit ).

Routine

En-tête requis

atexit

<stdlib.h>

Ce programme place quatre fonctions sur la pile de fonctions à exécuter lorsque atexit est appelé. Lorsque le programme sort, ces programmes sont exécutées sur une base dernier entré premier sorti.

// 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 " );
}
Cela est effectué en premier.
Cela est exécuté après.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft