Razlika Med Makro In Vgrajeno Funkcijo

Kazalo:

Razlika Med Makro In Vgrajeno Funkcijo
Razlika Med Makro In Vgrajeno Funkcijo

Video: Razlika Med Makro In Vgrajeno Funkcijo

Video: Razlika Med Makro In Vgrajeno Funkcijo
Video: IL MIO PRIMO VIDEO!!!! USIAMO LE MACRO SU MAKE MORE!! 2024, November
Anonim

Ključna razlika - makro vs vgrajena funkcija

Makro je fragment kode, ki je predprocesorska direktiva. Vgrajena funkcija je funkcija izboljšave C ++ za zmanjšanje časa izvajanja programa. Zato je ključna razlika med makro in vgrajeno funkcijo v tem, da makro preveri predprocesor, medtem ko vročo funkcijo preveri prevajalnik.

Makro je vključen na začetku programa, pred katerim je znak zgoščevanja. Ko je v programu ime makra, ga nadomesti vsebina makra.

VSEBINA

1. Pregled in ključna razlika

2. Kaj je makro

3. Kaj je vgrajena funkcija

4. Vzporedna primerjava - makro vs vgrajena funkcija v tabelarni obliki

5. Povzetek

Kaj je makro

Predprocesor je program, ki obdela izvorno kodo, preden gre skozi prevajalnik. Deluje z uporabo ukazne vrstice predprocesorja ali direktiv. V programu so predprocesorske smernice postavljene v izvorni program pred glavnim programom. Preden gre izvorna koda skozi prevajalnik, jo predprocesor preveri, ali je v njej določena direktiva. Direktive predprocesorja imajo simbol #. Za razliko od drugih izjav se ne končajo s podpičjem. Ena od vrst predprocesorskih direktiv je makro. Na splošno so makri napisani z velikimi črkami.

Razlika med makro in vgrajeno funkcijo
Razlika med makro in vgrajeno funkcijo

Slika 01: Program C ++ z makri

V skladu z zgornjim programom vrstica 3 in vrstica 4 označujeta makre. Pri izračunu površine se vrednost PI nadomesti z uporabo definiranega makra. V vrstici 14, obseg = CUBE (vrednost), predprocesor razširi stavek kot volumen = (vrednost * vrednost * vrednost). Iskanje kocke je mogoče zapisati kot funkcijo, tukaj pa je zapisano z uporabo makra. Če obstaja stavek kot obseg = CUBE (x + y), se bo razširil na volume = (x + y * x + y * x + y).

Nekateri žetoni za programiranje se lahko zlahka vtipkajo. Lahko jih nadomestite z makri. npr. #define AND &&, #define OR ||. Definicija makra lahko vključuje tudi izraze, kot je #define AREA 4 * 5.56.

Kaj je vgrajena funkcija?

Ko je funkcija poklicana, prevajalnik traja nekaj časa, da jo izvede. Če funkcija ni zelo zapletena, jo lahko programer pretvori v funkcijo inline. Glejte spodnji program.

Razlika med makro in vgrajeno funkcijo Slika 2
Razlika med makro in vgrajeno funkcijo Slika 2

Slika 02: Funkcija brez vstavljenega

Print_hello je preprosta funkcija. Ko pokliče funkcijo, natisne niz »Hello«. Čas izvajanja za to funkcijo je 0,187s. Pri uporabi ključne besede inline, kot sledi, se čas izvedbe skrajša na 0,064s.

Ključna razlika med makro in vgrajeno funkcijo
Ključna razlika med makro in vgrajeno funkcijo

Slika 03: Vgrajena funkcija

Zato se z uporabo ključne besede inline čas izvedbe skrajša. Vstavljene funkcije morda ne bodo delovale, če obstajajo zanke, stavki preklopnikov in če funkcija vsebuje statične spremenljivke ali rekurzivne funkcije.

Kakšna je razlika med makro in vgrajeno funkcijo?

Diff Article Sredina pred mizo

Makro vs vgrajena funkcija

Makro je fragment kode, ki je predprocesorska direktiva, ki je vključena na začetku programa, pred katerim je znak zgoščevanja. Vgrajena funkcija je funkcija izboljšave C ++ za zmanjšanje časa izvajanja programa.
Čas ocenjevanja
V makri se argument ovrednoti vsakič, ko se uporablja v programu. V vrstici se argument ovrednoti enkrat.
Preveril
Predprocesor preveri makro. Vgrajeno funkcijo preveri prevajalnik.
Ključna beseda
Marco uporablja #define. Funkcija inline uporablja ključno besedo 'inline'.
Uporaba
Makro se lahko uporablja za določanje konstant, izrazov, za dobesedno zamenjavo besedila in za določanje funkcij itd. Vgrajeno funkcijo lahko uporabite za zmanjšanje časa izvajanja programa.
Prekinitev
Makro se konča z novo vrstico. Funkcija vstavka se konča s kodrasto oklepajjo na koncu vstavljene funkcije.
Določanje točke
Marco je definiran na začetku programa. Vgrajena funkcija je lahko znotraj ali zunaj razreda.

Povzetek - Makro vs vgrajena funkcija

Ta članek je obravnaval razliko med makro in vgrajeno funkcijo. Ti koncepti se uporabljajo pri programiranju na C ++. Razlika med makro in vgrajeno funkcijo je v tem, da makro preveri predprocesor, medtem ko vročo funkcijo preveri prevajalnik.

Priporočena: