7. diel - Makra
Makro je fragment kódu, ktorému je priradený identifikačný reťazec. Ak kdekoľvek v kóde narazí preprocesor na tento reťazec, nahradí ho obsahom daného makra - tzv. Expandovanie makrá.
(pozn. autora: preprocesor sa spustí ešte pred samotnou kompiláciou a nahradí všetky makrá v zdrojovom súbore ich obsahom).
Všeobecne možno makrá rozdeliť do dvoch skupín. Prvou skupinou sú makrá bez zátvoriek. Tieto typy makier sa používajú pre definovanie konštánt, znakov alebo reťazcov. Makrá sa zátvorkami sa spravidla používajú v mieste, kde chceme makro nahradiť funkcií alebo blokom jedno alebo viac riadkového kódu, ktorý môže napríklad vykonať výpočet maximálnej hodnoty z dvoch prvkov. Zároveň je možné, rovnako ako u klasickej funkcie, vložiť do zátvoriek jeden alebo viac parametrov.
Pretože sa meno makra v mieste jeho použitia priamo nahradí blokom kódu, nedochádza tak k zaťaženiu procesora. Naopak pri zavolaní funkcie je potrebné prepnúť kontext aktuálne spracovávané funkcie a zároveň vytvoriť na zásobníku dátovú štruktúru zvanú rámec. To sú operácie, ktoré stoja určité množstvo výpočtového času.
(pozn. autora: prepnutie kontextu môže napríklad znamenať zálohovanie registrov dostupných na danom mikrokontroléra alebo procesora).
Pravidlá pre používanie makier
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Obmedzená ponuka: Nauč sa všetko a ušetri
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V pokračovaní predošlých článkov sa dozviete ako používať makrá. Majú nepreberné možnosti využitia a sú hlavnými prvkami pri tvorbe embedded systémov.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.