Sdílet prostřednictvím


atexit

Zpracuje zadanou funkci při ukončení.

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

Parametry

  • func
    Funkce pro volání.

Vrácená hodnota

atexitPokud dojde k chybě, vrátí hodnotu 0 v případě úspěchu nebo nenulovou hodnotu.

Poznámky

atexit Funkce je předána adresa funkce (func) má být volána, když program skončí normálně.Následná volání atexit vytvořit rejstřík funkcí, které jsou spouštěny postupně poslední dovnitř, první ven (LIFO).Funkce předány do atexit nemůže mít parametry.atexita _onexit umožňuje ukládat rejstříku funkce haldy.Proto počet funkcí, které lze zaregistrovat je omezen pouze paměť haldy.

Kód v atexit funkce by neměla obsahovat žádné závislosti na libovolnou knihovnu DLL, která by mohla již byly odstraněny při atexit funkce je volána.

Generovat aplikace vyhovující standardu ANSI, používají ANSI standard atexit funkce (nikoli podobné _onexit funkce).

Požadavky

Rutina

Požadované záhlaví

atexit

<stdlib.h>

Příklad

Tento program posuny čtyř funkcí do zásobníku funkce, které mají být provedeny při atexit se nazývá.Při ukončení programu, tyto programy jsou spouštěny na poslední, první, základ.

// 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 " );
}
  

Ekvivalent v rozhraní .NET Framework

System::Diagnostics::Process:: byl ukončen

Viz také

Referenční dokumentace

Řízení procesů a prostředí

abort

exit, _exit

_onexit, _onexit_m