atexit
Memproses fungsi yang ditentukan saat keluar.
Sintaks
int atexit(
void (__cdecl *func )( void )
);
Parameter
func
Fungsi yang akan dipanggil.
Nilai hasil
atexit
mengembalikan 0 jika berhasil, atau nilai bukan nol jika terjadi kesalahan.
Keterangan
Fungsi atexit
ini diteruskan alamat fungsi func
yang akan dipanggil ketika program berakhir secara normal. Panggilan berturut-turut untuk atexit
membuat daftar fungsi yang dijalankan dalam urutan last-in, first-out (LIFO). Fungsi yang diteruskan ke atexit
tidak dapat mengambil parameter. atexit
dan _onexit
gunakan timbunan untuk memegang register fungsi. Dengan demikian, jumlah fungsi yang dapat didaftarkan hanya dibatasi oleh memori timbunan.
Kode dalam atexit
fungsi tidak boleh berisi dependensi apa pun pada DLL apa pun yang bisa saja telah dibongkar saat fungsi dipanggil atexit
.
Untuk menghasilkan aplikasi yang sesuai dengan ANSI, gunakan fungsi standar atexit
ANSI (bukan fungsi serupa _onexit
).
Persyaratan
Rutin | Header yang diperlukan |
---|---|
atexit |
<stdlib.h> |
Contoh
Program ini mendorong empat fungsi ke tumpukan fungsi yang akan dijalankan ketika atexit
dipanggil. Ketika program keluar, program ini dijalankan pada dasar terakhir masuk, pertama keluar.
// 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 " );
}
This is executed first.
This is executed next.
Baca juga
Kontrol proses dan lingkungan
abort
exit
, _Exit
, _exit
_onexit
, _onexit_m
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