48 - DARS.DEFINED OPERATSIYASI.
Tekst shartli qayta ishlanganda unar preprotsessor amali Defined operand amalidan foydalanish mumkin. If defined ifodasi #ifdef operand ifodasiga ekvivalentdir. Bu ko’rinishda defined avfzalligi bilinmaydi. Misol uchun biror tekst kompilyatorga Y identifikatori aniqlangan, N bo’lsa aniqlanmagan holda uzatish lozim bo’lsin. U holda preprotsessor direktivasi qo’yidagicha yoziladi:
#if defined Y&&!defined N
tekst
#endif
Bu direktivani qo’yidagicha ham yozish mumkin.
#ifdef Y
#ifndef N
tekst
#endif
#endif
Yordamchi direktivalar.
Satrlarni nomerlash uchun quyidagi direktivadan foydalanish mumkin:
#line konstanta
Direktiva fakat satr nomeri emas, fayl nomini ham uzgartirishi mumkin:
#line konstanta “fayl nomi”
Odatda bu direktiva kam ishlatiladi.
Quyidagi direktiva leksemalar ketma ketligi orqali kursatilgan shaklda diagnostik ma'lumotlar berilishiga olib keladi.
# error leksemalar ketma ketligi.
Misol uchun NAME preprotsessor o’zgaruvchisi aniqlangan bo’lsin:
#define NAME 5
Dasturda bu o’zgaruvchi qiymatini teshirib, 5 ga teng bo’lmagan holda ma'lumot berish uchun qo’yidagi direktivadan foydalaniladi:
#if (NAME!=5)
#error NAME 5 ga teng bo’lishi kerak
Hech qanday hizmat bajarmaydigan direktiva: #
Dostları ilə paylaş: |