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 (
şeklinde karakter dizisi),Aaa gg yyyy
__TIME__
Saat (
şeklinde karakter dizisi),ss:dd:ss
__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
değerindeki uzun tamsayı değişmezi.yyyyaaL
__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.