Çıkışta Temizlik
Önceki Yazılımın Sonlandırılması Sonraki
Çıkışta Temizlik
Yazılımınız normal sonlandırma sırasında kendi temizlik işlevlerini çalıştıracak düzenlemeyi yapabilir. Çeşitli uygulama yazılımlarında kullanılan bir kütüphane yazıyorsanız, tüm uygulamaların çıkış sırasında kütüphanenin temizlik işlevlerini çağırmasında ısrar etmek güvenilir olmazdı. Temizlik işlevlerinin uygulamaya görünmez yapmanın kesin yolu atexit veya on_exit işlevlerini kullanarak bir temizlik işlevini belirtmektir.
int atexit
(void (*işlev) (void))
işlev
atexit işlevi işlev işlevini normal yazılım sonlanması sırasında çağrılmak üzere kaydeder. işlev argümansız çağrılır.
atexit işlevinin normal dönüş değeri sıfırdır, eğer işlev kaydedilemezse sıfırdan farklı bir değerle döner.
int on_exit
(void (*işlev)(int durum, void  *arg),
 void  *arg)
işlev
Bu işlev atexit işlevinin biraz daha güçlü bir sürümüdür. İki argüman kabul eder: işlev işlevi ve bir argümana gösterici. Normal yazılım sonlanması sırasında işlev iki argümanlar çağrılır: exit işlevine aktarılan durum ve bir arg argümanı.
Bu işlev GNU kütüphanesine sadece SunOS uyumluluğu için dahil edilmiştir. Diğer gerçeklemeler tarafından desteklenmeyebilir.
Burada, exit ve atexit işlevlerinin kullanımını gösteren göstermelik bir yazılıma yer verilmiştir:
#include <stdio.h>
#include <stdlib.h>

void
elveda (void)
{
  puts ("Elveda, zalim Dünya....");
}

int
main (void)
{
  atexit (elveda);
  exit (EXIT_SUCCESS);
}
Bu yazılım çalıştırıldığında bir ileti basar ve çıkar.
Önceki Üst Ana Başlık Sonraki
Çıkış Durumu Başlangıç Anormal Sonlanma
Bir Linux Kitaplığı Sayfası