exit
, _Exit
, _exit
Menghentikan proses panggilan. Fungsi exit
mengakhirinya setelah pembersihan; _exit
dan _Exit
segera mengakhirinya.
Catatan
Jangan gunakan metode ini untuk mematikan aplikasi Platform Windows Universal (UWP), kecuali dalam skenario pengujian atau penelusuran kesalahan. Cara terprogram atau UI untuk menutup aplikasi Store tidak diizinkan sesuai dengan kebijakan Microsoft Store. Untuk informasi selengkapnya, lihat Siklus hidup aplikasi UWP. Untuk informasi selengkapnya tentang aplikasi UWP, lihat dokumentasi Platform Windows Universal.
Sintaks
void exit(
int const status
);
void _Exit(
int const status
);
void _exit(
int const status
);
Parameter
status
Keluar dari kode status.
Keterangan
Fungsi exit
, _Exit
dan _exit
menghentikan proses panggilan. Fungsi ini exit
memanggil destruktor untuk objek thread-local, lalu memanggil—dalam urutan last-in-first-out (LIFO) —fungsi yang didaftarkan oleh atexit
dan _onexit
, lalu menghapus semua buffer file sebelum mengakhiri proses. Fungsi _Exit
dan _exit
menghentikan proses tanpa menghancurkan objek atau pemrosesan atexit
atau _onexit
fungsi lokal utas, dan tanpa menyiram buffer aliran.
exit
Meskipun panggilan , _Exit
dan _exit
tidak mengembalikan nilai, nilai di status
tersedia untuk lingkungan host atau proses panggilan tunggu, jika ada, setelah proses keluar. Biasanya, pemanggil mengatur status
nilai ke 0 untuk menunjukkan keluar normal, atau ke beberapa nilai lain untuk menunjukkan kesalahan. Nilai status
tersedia untuk perintah ERRORLEVEL
batch sistem operasi dan diwakili oleh salah satu dari dua konstanta: EXIT_SUCCESS
, yang mewakili nilai 0, atau EXIT_FAILURE
, yang mewakili nilai 1.
Fungsi exit
, , _exit
_Exit
, quick_exit
, _cexit
, dan _c_exit
berulah sebagai berikut.
Function | Deskripsi |
---|---|
exit |
Melakukan prosedur penghentian pustaka C lengkap, mengakhiri proses, dan menyediakan kode status yang disediakan ke lingkungan host. |
_Exit |
Melakukan prosedur penghentian pustaka C minimal, mengakhiri proses, dan menyediakan kode status yang disediakan ke lingkungan host. |
_exit |
Melakukan prosedur penghentian pustaka C minimal, mengakhiri proses, dan menyediakan kode status yang disediakan ke lingkungan host. |
quick_exit |
Melakukan prosedur penghentian pustaka C cepat, mengakhiri proses, dan menyediakan kode status yang disediakan ke lingkungan host. |
_cexit |
Melakukan prosedur penghentian pustaka C lengkap dan kembali ke pemanggil. Tidak mengakhiri proses. |
_c_exit |
Melakukan prosedur penghentian pustaka C minimal dan kembali ke pemanggil. Tidak mengakhiri proses. |
Saat Anda memanggil exit
fungsi , _Exit
atau _exit
, destruktor untuk objek sementara atau otomatis apa pun yang ada pada saat panggilan tidak dipanggil. Objek otomatis adalah objek lokal non-statis yang ditentukan dalam fungsi. Objek sementara adalah objek yang dibuat oleh pengkompilasi, seperti nilai yang dikembalikan oleh panggilan fungsi. Untuk menghancurkan objek otomatis sebelum Anda memanggil exit
, , _Exit
atau _exit
, secara eksplisit memanggil destruktor untuk objek, seperti yang ditunjukkan di sini:
void last_fn() {}
struct SomeClass {} myInstance{};
// ...
myInstance.~SomeClass(); // explicit destructor call
exit(0);
}
Jangan gunakan DLL_PROCESS_ATTACH
untuk memanggil exit
dari DllMain
. Untuk keluar DLLMain
dari fungsi, kembalikan FALSE
dari DLL_PROCESS_ATTACH
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Function | Header yang diperlukan |
---|---|
exit , _Exit , _exit |
<process.h> atau <stdlib.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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 );
}
Baca juga
Kontrol proses dan lingkungan
abort
atexit
_cexit
, _c_exit
_exec
, _wexec
fungsi
_onexit
, _onexit_m
quick_exit
_spawn
, _wspawn
fungsi
system
, _wsystem
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk