共用方式為


atexit

處理結束時指定的函式。

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

參數

  • func
    若要呼叫的函式。

傳回值

atexit如果發生錯誤,傳回 0,如果成功或非零的值。

備註

atexit函式會傳遞的函式的位址 (func) 程式正常結束時呼叫。 後續的呼叫,以atexit建立的順序執行最後一個單元先進先出 (LIFO) 的函式的暫存器。 函式傳遞至atexit不能接受參數。 atexit與**_onexit**使用保留的函式的暫存器的堆積。 因此,可以註冊的函式數目僅受限於堆積記憶體。

在 [程式碼atexit函式不應該包含任何的依存性可能都已經卸載時的任何 DLL atexit函式被呼叫。

若要產生符合 ANSI 標準的應用程式,使用 ANSI 標準atexit函式 (而非類似**_onexit**函式)。

需求

常式

所需的標頭

atexit

<stdlib.h>

範例

這個程式推入四個功能至堆疊時執行的函式的atexit呼叫。 當程式結束時,這些程式會在上執行中的最後一個先出 」 基準來。

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

.NET Framework 對等用法

System::Diagnostics::Process:: 結束

請參閱

參考

處理程序和環境控制

abort

exit、_exit

_onexit _onexit_m