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