makroslar

DOC 5 стр. 31,5 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 5
макрослар макрос – бу код бўлаги бўлиб, кўриниши ва ишлаши худди функциядек. бироқ у функция эмас. функциялар ва макрослар ўртасида бир нечта фарқлар мавжуд: · макрос ўз аниқланиши (танаси билан) билан препроцессор ишлаш пайтида, яъни программа компиляциясигача алмаштирилади. шу сабабли макрос функцияни чақириш билан боғлиқ қўшимча вақт сарфини талаб қилмайди; · макрослардан фойдаланиш программанинг бошланғич коди (матнини) кўпайишига олиб келади. бунга қарама-қарши ҳолда функция коди ягона нусхада бўлади ва программа кодини қисқаришига олиб келади. иккинчи томондан функцияга ҳар бир мурожаатни ташкил қилиш учун қўшимча вақт ресурслари сарфланади; · компилятор макросдаги турлар мослигини текширмайди. шу сабабли, макросга аргумент жўнатишда турларнинг мослиги ёки аргументлар сонининг тўғри келиши текширилмайди ва хатолик ҳақида хабар берилмайди; · макрос бошланғич кодга (матнга) программа бўлагини қўйиш воситаси бўлганлиги учун ва бундай бўлаклар матннинг турли жойларига қўйиш мумкинлиги сабабли макрослар билан боғлиқ ягона адреслар бўлмайди. шу сабабли макросларга кўрсатгичлар эълон қилиш ёки макрос адресларини ишлатиб бўлмайди. макросларни аниқлаш …
2 / 5
грамма матни келтирилган. #include #define pi 3.14159 #define kvadrat(x) ((x)*(x)) #define aylana_yuzi(r)(pi* kvadrat(r)) int main() { double r1=5,r2=10; double c1,c2; c1=aylana_yuzi(r1); #undef aylana_yuzi c2=aylana_yuzi(r2); cout #define uzg_nomi(uzg) cout #define macro_bir cout >x; return 0; } программма препроцессор томонидан қайта ишлангандан кейин унинг оралиқ матни куйидаги кўринишда бўлади: int main(int argc, char* argv[]) { int x=10; cout >x; return 0; } сатрларни улаш амалидан янги ўзгарувчисларни генерация қилиш учун фойдаланиш мумкин. #define uzg_eloni(i) int var ## i … uzg_eloni(1); … юқоридаги мисолда макрос аниқланиши билан алмаштириш натижасида “uzg_eloni(1);” сатри ўрнида int var1; кўрсатмаси пайдо бўлади.
3 / 5
makroslar - Page 3
4 / 5
makroslar - Page 4
5 / 5
makroslar - Page 5

Хотите читать дальше?

Скачайте все 5 страниц бесплатно через Telegram.

Скачать полный файл

О "makroslar"

макрослар макрос – бу код бўлаги бўлиб, кўриниши ва ишлаши худди функциядек. бироқ у функция эмас. функциялар ва макрослар ўртасида бир нечта фарқлар мавжуд: · макрос ўз аниқланиши (танаси билан) билан препроцессор ишлаш пайтида, яъни программа компиляциясигача алмаштирилади. шу сабабли макрос функцияни чақириш билан боғлиқ қўшимча вақт сарфини талаб қилмайди; · макрослардан фойдаланиш программанинг бошланғич коди (матнини) кўпайишига олиб келади. бунга қарама-қарши ҳолда функция коди ягона нусхада бўлади ва программа кодини қисқаришига олиб келади. иккинчи томондан функцияга ҳар бир мурожаатни ташкил қилиш учун қўшимча вақт ресурслари сарфланади; · компилятор макросдаги турлар мослигини текширмайди. шу сабабли, макросга аргумент жўнатишда турларнинг мослиги ёки аргументлар сонининг тўғри ...

Этот файл содержит 5 стр. в формате DOC (31,5 КБ). Чтобы скачать "makroslar", нажмите кнопку Telegram слева.

Теги: makroslar DOC 5 стр. Бесплатная загрузка Telegram