Lekce 7 - Makra

C a C++ C++ Pokročilé konstrukce v C++ Makra

Makro je fragment kódu, kterému je přiřazen identifikační řetězec. Pokud kdekoli v kódu narazí preprocesor na tento řetězec, nahradí jej obsahem daného makra - tzv. expandování makra.

(pozn. autora: preprocesor se spustí ještě před samotnou kompilací a nahradí všechna makra ve zdrojovém souboru jejich obsahem).

Všeobecně lze makra rozdělit do dvou skupin. První skupinou jsou makra bez závorek. Tyto typy maker se používají pro definování konstant, znaků nebo řetězců. Makra se závorkami se zpravidla používají v místě, kde chceme makro nahradit funkcí nebo blokem jedno či více řádkového kódu, který může například provést výpočet maximální hodnoty ze dvou prvků. Zároveň je možné, stejně jako u klasické funkce, vložit do závorek jeden nebo více parametrů.

Protože se jméno makra v místě jeho použití přímo nahradí blokem kódu, nedochází tak k zatížení procesoru. Naopak při zavolání funkce je potřeba přepnout kontext aktuálně zpracovávané funkce a zároveň vytvořit na zásobníku datovou strukturu zvanou rámec. To jsou operace, které stojí určité množství výpočetního času.

(pozn. autora: přepnutí kontextu může například znamenat zálohování registrů dostupných na daném mikrokontroléru nebo procesoru).

Pravidla pro používání maker


 

...konec náhledu článku...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornějšíčlánky, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

Popis článku

Požadovaný článek má následující obsah:

V pokračování předešlých článků se dozvíte jak používat makra. Mají nepřeberné možnosti využití a jsou hlavními prvky při tvorbě embedded systémů.
Pro přístup k článku potřebuješ 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo za 25 Kč

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem

 

Článek pro vás napsal patrik.valkovic
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Miniatura
Všechny články v sekci
Pokročilé konstrukce C++
Miniatura
Následující článek
Konstantní hodnoty
Aktivity (2)