exit、_exit
exit 在清除之後結束呼叫處理序; _exit 終止直接它。
注意事項 |
---|
不要使用這個方法會關閉執行 Windows 市集 應用程式,但測試或偵錯案例。以程式設計方式或 UI 模式結束 Windows 市集 應用程式不會根據第 3.6 節中 Windows 8 應用程式驗證要求啟用。如需詳細資訊,請參閱 應用程式生命週期 (Windows 市集應用程式)。 |
void exit(
int status
);
void _exit(
int status
);
參數
- status
使用狀態。
備註
exit 和 _exit 函式結束呼叫程序。 會在 atexit 和 _onexit註冊的後進先出 (LIFO) 的順序 (LIFO) 這個函式的exit ,然後清除所有檔案緩衝區,表示終止程序。 _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