Standart C Programlama Dili


6.5. Önceden Tanımlanmış İsimler

Önişlemci, ayrıca bazı tanıtıcı sözcükleri önceden #define ile tanımlamıştır. Bunların tanımının #undef ile kaldırılması veya #define ile yeniden tanımlanmaları mümkün değildir. Bunlar şunlardır:

__FILE__ Derlenmekte olan dosyanın adı (karakter dizisi),

__LINE__ Şu anki kaynak satır numarası (ondalık sayı),

__DATE__ Tarih (Aaa gg yyyy şeklinde karakter dizisi),

__TIME__ Saat (ss:dd:ss şeklinde karakter dizisi),

__STDC__ Standarda uyan derlemeler için 1 değişmezi.

__STDC_HOSTED__ Barındırılan uygulama derlemeleri için 1 değişmezi.

__STDC_VERSION__ Derleyicinin uyumlu olduğu C Standardının versiyonunu gösteren yyyyaaL değerindeki uzun tamsayı değişmezi.

__FILE__ ve __LINE__ tanıtıcı sözcüklerinin değerleri, #line emri ile değiştirilebilir. Diğerlerinin değerleri derleme boyunca değişmez.

İsimleri __STD_ ile başlayan ve koşullu olarak tanımlanan başka standart tanıtıcı sözcükler de vardır.

Bunların dışında, derleyici tarafından önceden tanımlanan bir tanıtıcı sözcük bulunmaktadır: __func__. Kullanımı yukarıdaki önişlemci tarafından önceden tanımlanan diğer tanıtıcı sözcüklere benzer. __func__ bir karakter dizisi değişmezi içeren bir değişkendir ve her fonksiyon için derlenmekte olan fonksiyonun ismine ilklenir. Örnek bir kullanım için assert makro tanımına bakabilirsiniz.