O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti


 Funksiyalarning tez chaqirilishi. Nomlar fazosi



Yüklə 1,82 Mb.
Pdf görüntüsü
səhifə67/83
tarix20.05.2023
ölçüsü1,82 Mb.
#111692
1   ...   63   64   65   66   67   68   69   70   ...   83
3072-Текст статьи-7829-1-10-20200908

 
14.3. Funksiyalarning tez chaqirilishi. Nomlar fazosi 
Parametrlari protsessorli registrlar orqali uzatiladigan funksiyalarni e’lon 
qilishda _fastcall modifikatori qo‘llanadi: 
_fastcall(

Bu kalit-so‘z name nomli dastlabki uchta turlashtirilgan parametr (ro‘yxat 
bo‘yicha chapdan o‘ngga) stek orqali emas, balki AX, BX va DХ protsessorli 
registrlar orqali uzatilishini aniqlaydi. Agar parametr qiymati registrga sig‘masa, 
ya’ni parametr orqali suzuvchi nuqtali sonlarni, tuzilmalar va funksiyalarni uzatishda, 
u qo‘llanmaydi, 


114 
Хolisanillo 
aytganda, 
funksiyalarning 
tez 
chaqirilishi 
C++Builder 
kompilyatorininggina vazifasiga kirmaydi. Voqealarga ishlov berish funksiyalarini 
e’lon qilishda
_
fastcall ning qo‘llanishiga aloxida e’tibor berish kerak. Bu voqealarni 
C++Builder avtomatik tarzda generatsiya qiladi. 
Oddiy ilovalarning ko‘pi dastlabki dastur matniga ega bo‘lgan bir nechta fayldan 
iborat. Bu fayllar dasturchilar guruxi tomonidan yaratilishi va xizmat ko‘rsatilishi 
mumkin. Pirovard natijada barcha fayllar birga to‘planadi va tayyor ilovani 
yig‘ishdan iborat bo‘lgan so‘nggi protseduradan o‘tadi.
An’anaviy tarzda qabul qilinishicha, biron bir lokal soxa (funksiya, sinf tanasi 
yokitranslyatsiya moduli) ga kiritilmagan barcha nomlar umumiy global ismlarni 
bo‘lib olishadi. Shuning uchun, agar ayrim modullarni yig‘ish jarayonida nomlar 
takroran aniqlangani ayon bo‘lib qolsa, bu holda har bir nomni qandaydir yo‘l bilan 
farqlash zarurligini talab qiladi. C++da bu muammoning yechilishi nomlar 
fazosi(namespace) mexanizmi zimmasiga yuklatilgan. 
Bu mexanizm ilovani bir necha tarmoq tizimlar (tizimchalar) ga bo‘lib tashlash 
imkonini beradi, bunda har bir tarmoq tizim nomlarni tanlashda erkin ish tutadi
hamda uning muallifi xuddi shunday ismlardan biron boshqa kimsa foydalanishi 
mumkinligiga qayg‘urmasa ham bo‘ladi. Har bir tarmoq tizim global nomlar umumiy 
fazosida o‘zining paydo bo‘lganini namespace kalit-so‘zdan keyin kelgan unikal 
identifikator yordamida identifikatsiya qiladi: 
namespace {[]} 
Identifikatsiya qilingan nomlar fazosi elementlariga kirishning uchta usuli 
mavjud: 
Konkret elementga ochiq-oydin kirish kvalifikatsiyasi: 
ALPHA :: vart;//ALPHA BETA::F1dagi o‘zgaruvchiga kirish; //BETA dagi 
o‘zgaruvchiga kirish 
Barcha elementlarga kirish: 
using namespace::ALPHA;//ALPHA dagi barcha nomlarga kirish 
Nomlarning lokal fazosida yangi identifikatorning e’lon qilinishi: 
using :: new_name;//identifikatorning qo‘shilishi 


115 

Yüklə 1,82 Mb.

Dostları ilə paylaş:
1   ...   63   64   65   66   67   68   69   70   ...   83




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə