preprocessor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
preprocessor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Nisan 2009 Salı

C Preprocessoru Hakkında Bir Zıbıdık

C ve C++'ın kendi çaplarında, lisp'le falan kıyaslandığında oldukça dandik kaçan bir makro sistemi var. Bugün o makro sistemiyle ilgili ufak, ama güzel bir şey keşfettim. Daha önce şu preprocessorda böyle bir şey olsa iyi olur demiştim, bugün öğrendim ki varmış. Şimdi şu kodcana bir bakalım;

#include
#define birlestir(x,y) x##y
main(){
int zbdk = 42;
printf("%d\n", birlestir(zb,dk));
}

bu yukarıdaki basit örnekte, preprocessorla iki sembolü birleştirip tek bir identifier haline getirebildiğimizi farkediyoruz, ve bu noktada benim gibi bu özellikten haberdar olmayan güruh "Yok artık!" çekiyor. İşe yarayabilir aslında.