Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A megadott függvényt a kilépéskor dolgozza fel.
Syntax
int atexit(
void (__cdecl *func )( void )
);
Paraméterek
func
Meghívandó függvény.
Visszaadott érték
atexit sikeres esetben 0 értéket ad vissza, hiba esetén pedig nemero értéket.
Remarks
A atexit függvény lekéri a meghívandó függvény func címét, amikor a program normál módon leáll. Egymást követő hívások a atexit last-in, first-out (LIFO) sorrendben végrehajtott függvények nyilvántartásának létrehozásához. Az átadott atexit függvények nem tudják felvenni a paramétereket.
atexit és _onexit a halom segítségével tartsa a függvények nyilvántartását. Így a regisztrálható függvények számát csak a halommemória korlátozza.
A függvény kódjának atexit nem szabad függőséget tartalmaznia olyan DLL-eken, amelyeket a függvény meghívásakor már ki lehetett üríteni atexit .
Microsoft-specifikus DLL-viselkedés: Ha egy DLL kiürít, a fogadás DLL_PROCESS_DETACHután DllMain a DLL atexit visszahívásai fordított regisztrációs sorrendben futnak, és az utolsó visszahívás van regisztrálva.
ANSI-konformáló alkalmazás létrehozásához használja az ANSI-standard atexit függvényt (a hasonló _onexit függvény helyett).
Requirements
| Rutin | Kötelező fejléc |
|---|---|
atexit |
<stdlib.h> |
Example
Ez a program négy függvényt küld a függvények veremébe, amelyeket meghívva atexit hajthat végre. Amikor a program kilép, végrehajtja ezeket a függvényeket a last-in, first-out sorrendben.
// 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.
Lásd még
Folyamat- és környezetvezérlés
abort
exit, , _Exit_exit
_onexit, _onexit_m