Bildirim
int at_quick_exit(void (*func) (void)); (C11)
Açıklama
Hızlı program sonlandırma işlemi yapıldığında çağrılacak olan ve func parametresi ile gösterilen fonksiyonu kaydeder.
Func parametresi ile gösterilen fonksiyon quick_exit() fonksiyonu çağrıldığında otomatik olarak çağrılır.
Birden fazla fonksiyon kaydı yapıldığında, program sonlandırılınca fonksiyonlar kayıt sırasının tersi bir sırayla çağrılacaktır.
Program en az 32 fonksiyon kaydını destekleyeceğinden, fonksiyonun birden fazla thread tarafından çağrılması herhangi bir kayba neden olmaz.
Parametreler
func: Hızlı program sonlandırma işleminde çağrılacak olan fonksiyonu gösteren bir işaretçidir.
Dönüş değeri
Fonksiyon kayıt işlemi başarı olursa 0 değeri, aksi takdirde sıfır olmayan bir değer geri döndürülür.
Örnek
#include <stdio.h>
#include <stdlib.h>
void fonk(void);
int main(void)
{
at_quick_exit(fonk);
quick_exit(EXIT_SUCCESS);
printf("Bilgisayar"); /* Bu işlem satırı hiç devreye girmez. */
return 0;
}
void fonk(void)
{
printf("Program hızlı çıkış fonksiyonu devreye girdi!");
fflush(stdout);
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
Program hızlı çıkış fonksiyonu devreye girdi!
Yukarıdaki program, at_quick_exit() fonksiyonu ile fonk() adlı fonksiyonu hızlı çıkış fonksiyonu olarak kaydeder. quick_exit() fonksiyonu ile programdan çıkış yapıldığında fonk() fonksiyonu devreye girerek ekrana bir karakter dizisi yazar.