共用方式為


exit、_exit

結束呼叫的流程:exit 在清除之後結束它; _exit 直接終止它。

注意事項注意事項

除非是測試或偵錯的狀況,否則不要使用這個方法關閉 Windows 市集 應用程式。根據 Windows 8 應用程式認證需求的章節 3.6,不允許以程式設計或 UI 方式關閉 Windows 市集 應用程式。如需詳細資訊,請參閱應用程式週期 (Windows 市集應用程式)

void exit( 
   int status 
);
void _exit( 
   int status 
);

參數

  • status
    結束狀態。

備註

exit 和 _exit 函式結束呼叫程序。 exit呼叫由 atexit 和 _onexit註冊的後進先出 (LIFO) 順序的函式 ,然後在終止程序前清除所有檔案緩衝區。 _exit 終止處理序,而未處理 atexit 或 _onexit ,也不清除資料流緩衝區。 通常, status 值設定為 0 表示正常結束或設定為其他值表示錯誤。

雖然 exit 和 _exit 呼叫不傳回值,低位位元組 status 用來等候呼叫程序,如果有的話,會在呼叫處理序結束之後。 status 值為作業系統的批次命令 ERRORLEVEL 可和由其中一個常數表示: EXIT_SUCCESS,表示值為 0,或 EXIT_FAILURE,表示值為 1。 exit、 _exit、 _cexit和 _c_exit 表現行為如下。

Function

描述

exit

執行完成 C 程式庫結束程序,終止處理序,然後用提供的狀態碼關閉。

_exit

執行快速 C 程式庫結束程序,終止處理序,然後用提供的狀態碼關閉。

_cexit

執行完成 C 程式庫結束程序並傳回至呼叫端,但是不會結束處理序。

_c_exit

執行快速 C 程式庫結束程序並傳回至呼叫端,但是不會結束處理序。

當您呼叫 exit 或 _exit 函式時,呼叫存在的任何暫時或自動物件的解構函式不會呼叫。 自動物件被定義為一個物件未被宣告靜態的函式。 暫存物件是由編譯器所建立的物件。 若要終結自動物件,在呼叫 exit 或 _exit之前,請明確地呼叫物件的解構函式,如下所示:

myObject.myClass::~myClass();

請不要使用 DLL_PROCESS_ATTACH 呼叫 DllMain的 exit 。 如果您要關閉 DLLMain 函式,請從 DLL_PROCESS_ATTACH傳回 FALSE 。

需求

Function

必要的標頭

exit

<process.h> 或 <stdlib.h>

_exit

<process.h> 或 <stdlib.h>

如需其他相容性資訊,請參閱 相容性

範例

// crt_exit.c
// This program returns an exit code of 1. The
// error code could be tested in a batch file.


#include <stdlib.h>

int main( void )
{
   exit( 1 );
}

.NET Framework 對等用法

System::Diagnostics::Process::Kill

請參閱

參考

流程控制和環境控制

abort

atexit

_cexit、_c_exit

_exec、_wexec 函式

_onexit、_onexit_m

_spawn、_wspawn 函式

system、_wsystem