atexit
Belirtilen işlevi çıkışta işler.
Sözdizimi
int atexit(
void (__cdecl *func )( void )
);
Parametreler
func
Çağrılacak işlev.
Dönüş değeri
atexit
başarılı olursa 0 veya hata oluşursa sıfır olmayan bir değer döndürür.
Açıklamalar
İşleve atexit
, program normal şekilde sonlandırıldığında çağrılacak işlevin func
adresi geçirilir. Son, ilk çıkış (LIFO) sırasına göre yürütülen işlevlerin bir kaydını oluşturmak için atexit
ardışık çağrılar. öğesine atexit
geçirilen işlevler parametre alamıyor. atexit
ve _onexit
işlevlerin kaydını tutmak için yığını kullanın. Bu nedenle, kaydedilebilecek işlevlerin sayısı yalnızca yığın belleğiyle sınırlıdır.
İşlevdeki atexit
kod, işlev çağrıldığında atexit
zaten kaldırılmış olabilecek herhangi bir DLL'ye bağımlılık içermemelidir.
ANSI uyumlu bir uygulama oluşturmak için ANSI standart atexit
işlevini (benzer _onexit
işlev yerine) kullanın.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
atexit |
<stdlib.h> |
Örnek
Bu program, çağrıldığında atexit
yürütülecek işlev yığınına dört işlev iter. Programdan çıkıldığında, bu programlar ilk olarak son olarak yürütülür.
// 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.
Ayrıca bkz.
İşlem ve ortam denetimi
abort
exit
, _Exit
, _exit
_onexit
, _onexit_m