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
56
Aslonov K. C++ dan qo’llanma
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:
#
Do'stlaringiz bilan baham: |