Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
_onexit, _onexit_m
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_onexit, _onexit_m

Enregistre une routine à appeler au moment de la sortie.

_onexit_t _onexit(
   _onexit_t function
);
_onexit_t_m _onexit_m(
   _onexit_t_m function
);

function

Pointeur vers la fonction à appeler dans la sortie.

_onexit retourne un pointeur vers la fonction en cas de réussite ou NULL s'il n'y a pas d'espace pour stocker le pointeur fonction.

La fonction _onexit se voit passer l'adresse d'une fonction (function) à appeler lorsque le programme se termine normalement. Les appels successifs à _onexit créent un registre des fonctions exécutées dans l'ordre dernier entré premier sorti (LIFO). Les fonctions transmises à _onexit ne peuvent pas prendre de paramètres.

Dans le cas où _onexit est appelé dans une DLL, les routines stockées avec _onexit executent dans les déchargements de la DLL après que DllMain soit appelé avec DLL_PROCESS_DETACH.

_onexit est une extension Microsoft. Pour la portabilité ANSI, utilisez atexit. La version _onexit_m de la fonction est pour un mode mixe.

Routine

En-tête requis

_onexit

<stdlib.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

// crt_onexit.c

#include <stdlib.h>
#include <stdio.h>

/* Prototypes */
int fn1(void), fn2(void), fn3(void), fn4 (void);

int main( void )
{
   _onexit( fn1 );
   _onexit( fn2 );
   _onexit( fn3 );
   _onexit( fn4 );
   printf( "This is executed first.\n" );
}

int fn1()
{
   printf( "next.\n" );
   return 0;
}

int fn2()
{
   printf( "executed " );
   return 0;
}

int fn3()
{
   printf( "is " );
   return 0;
}

int fn4()
{
   printf( "This " );
   return 0;
}

This is executed first.
This is executed next.
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2015 Microsoft