aký je rozdiel medzi makro a inline funkcie

makrá doesnt kontrola syntaktickej chyby
pre inline je syntaktická kontrola .....

 
Využitie makier je vždy nahradená skutočným kódom (tzn. sú vždy v obložené) Hoci do jeho kompilátora rozhodnúť, či nahradiť inline funkcie volania funkcie kódu alebo si to ako volanie funkcie.Existujú nejaké usmernenia, ktoré treba dodržiavať, aby sa uistili, že váš inline funkcie je nahradené jeho kód, ale aj potom, čo po týchto pokynov svojho nie je zaručená.

 
Hoci inline funkcie sú rovnaké ako makrá (funkcia, pretože kód je rozšírená v mieste volania pri kompilácii), sú vložené funkcie analyzovaný prekladač, že makrá sú rozšírené o preprocesor.Ako výsledok, tam je niekoľko dôležitých rozdielov:

* Inline funkcie sledovať všetky protokoly typu bezpečnosti uplatňované na bežné funkcie.
* Inline funkcie sú špecifikované pomocou rovnakej syntaxe ako akúkoľvek inú funkciu, okrem toho, že sú to kľúčové slovo inline v deklarácii funkcie.
* Pojmy odovzdané ako argumenty pre inline funkcie sú hodnotené raz.V niektorých prípadoch, výrazy odovzdané ako tvrdenia makrá možno hodnotiť viac ako raz.

 
makrá Nerobme si časť zákonníka Memory segmente, ale inline funkcie sú súčasťou segment kódu.
Makro Expansion je preprosessing čas činnosť a inline funkcie rozlíšenie (či prijme žiadosť o inline alebo nie) je kompilácia činnosť.

 
makrá sú použité v prípade, načasovanie je dôležitejšie
inline funkcie, pričom sa používajú pri využití pamäti, je dôležitejšie

 
Makro v informatike je abstrakcia, v ktorom je v texte určitej vzor nahradený podľa definovaných pravidiel.Interpret alebo kompilátor automaticky nahradí model, kedy sa stretol sa.Zostavené v jazykoch, makro-expanzia vždy býva pri kompilácii-čas.Nástroj, ktorý vykonáva expanzia je niekedy nazývaný makro-expander.Termín makro je používaný v mnohých podobných súvislostiach, ktoré vychádzajú z konceptu makro-expanzia, vrátane klávesových makier a makro jazykov.Vo väčšine prípadov použitia slova "makro" znamená rozšírenie malé príkaz alebo akciu do väčšieho súboru inštrukcií.

Účelom makier je buď automatizovať často používané-sekvencií alebo umožniť efektívnejšie abstrakcie, ale tieto sú často rovnakú vec.V informatike, inline funkcie je programovací jazyk, ktorý používa na výstavbu navrhnúť prekladač, ktorý konkrétnu funkciu podrobil in-line expanzia, že je to naznačuje, že kompilátor vložte úplný súbor funkcií v každej situácii, kedy, že funkcia sa používa.

 
1.makrá sú spracovávané preprocesor, zatiaľ čo inline funkcia spracováva prekladač.

2.makrá sú nepatrne rýchlejšie

3.Argumenty pre inline funkcie sú napísaný, preto prekladač použiť nejaký druh kontroly, aby sa tejto funkcie volania.
Makro nie je typ kontrolovaný a nehodnotia argumenty, ale jednoducho sa reťazec prešiel na makro a nahradiť každý výskyt makro argumentácie v texte makrá s aktuálnym reťazec pre tento parameter.Môže sa vám niekedy veľmi surpising výsledky.

 

Welcome to EDABoard.com

Sponsor

Back
Top