Forskjellen Mellom Makro Og Innebygd Funksjon

Innholdsfortegnelse:

Forskjellen Mellom Makro Og Innebygd Funksjon
Forskjellen Mellom Makro Og Innebygd Funksjon

Video: Forskjellen Mellom Makro Og Innebygd Funksjon

Video: Forskjellen Mellom Makro Og Innebygd Funksjon
Video: Oppgave 2.2.5: Innebygde funksjoner og matriser 2024, Kan
Anonim

Nøkkelforskjell - Makro vs innebygd funksjon

En makro er et fragment av kode, som er et forprosessordirektiv. En innebygd funksjon er en C ++ forbedringsfunksjon for å minimere kjøringstiden til et program. Derfor er nøkkelforskjellen mellom makro og innebygd funksjon at en makro blir sjekket av forprosessoren mens en innebygd funksjon blir sjekket av kompilatoren.

En makro er inkludert i begynnelsen av programmet foran et hash-tegn. Når det er makronavn i programmet, erstattes det av innholdet i makroen.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er makro

3. Hva er innebygd funksjon

4. Sammenligning side om side - Makro vs innebygd funksjon i tabellform

5. Sammendrag

Hva er makro?

Forprosessoren er et program som behandler kildekoden før den går gjennom kompilatoren. Den fungerer ved hjelp av preprosessor-kommandolinjen eller direktivene. I programmet plasseres forprosessordirektivene i kildeprogrammet før hovedprogrammet. Før kildekoden går gjennom kompilatoren, blir den sjekket av forprosessoren for forprosessordirektiv. Forprosessordirektivene har # -symbolet. I motsetning til andre utsagn slutter de ikke med semikolon. En type preprosessor-direktiv er makro. Vanligvis er makroene skrevet med store bokstaver.

Forskjellen mellom makro og innebygd funksjon
Forskjellen mellom makro og innebygd funksjon

Figur 01: C ++ Program med makroer

I henhold til det ovennevnte programmet indikerer linje 3 og linje 4 makroer. Ved beregning av arealet erstattes PI-verdien ved hjelp av den definerte makroen. I linje 14, volum = CUBE (verdi), utvider forprosessoren utsagnet som volum = (verdi * verdi * verdi). Å finne kuben kan skrives som en funksjon, men her inne skrives den ved hjelp av en makro. Hvis det er et utsagn som volum = CUBE (x + y), vil det utvides til volum = (x + y * x + y * x + y).

Noen programmeringstokener kan lett bli skrevet feil. De kan byttes ut med makroer. f.eks. #definer OG &&, #definer ELLER ||. En makrodefinisjon kan også omfatte uttrykk som #define AREA 4 * 5.56.

Hva er innebygd funksjon?

Når en funksjon kalles, tar kompilatoren litt tid å utføre den. Hvis funksjonen ikke er veldig kompleks, kan programmereren konvertere funksjonen til en innebygd funksjon. Se programmet nedenfor.

Forskjellen mellom makro og innebygd funksjon Figur 2
Forskjellen mellom makro og innebygd funksjon Figur 2

Figur 02: Funksjon uten Inline

Print_hello er en enkel funksjon. Den skriver ut strengen "Hello" når funksjonen kalles. Utførelsestiden for den funksjonen er 0.187s. Når du bruker det innebygde nøkkelordet som følger, reduseres utførelsestiden til 0,064 sek.

Hovedforskjell mellom makro og innebygd funksjon
Hovedforskjell mellom makro og innebygd funksjon

Figur 03: Inline-funksjon

Derfor, ved å bruke det innebygde nøkkelordet, reduseres utførelsestiden. Inline-funksjonene fungerer kanskje ikke hvis det er sløyfer, byttesetninger og hvis funksjonen inneholder statiske variabler eller rekursive funksjoner.

Hva er forskjellen mellom makro og innebygd funksjon?

Diff Article Midt før tabell

Makro mot innebygd funksjon

En makro er et fragment av kode, som er et forprosessordirektiv som er inkludert i begynnelsen av programmet foran et hash-tegn. En innebygd funksjon er en C ++ forbedringsfunksjon for å minimere kjøringstiden til et program.
Evalueringstid
I makro evalueres argumentet hver gang det brukes i programmet. Inline blir argumentet evaluert en gang.
Sjekket av
En makro kontrolleres av forprosessoren. En integrert funksjon kontrolleres av kompilatoren.
Nøkkelord
Marco bruker #define. Inline-funksjonen bruker nøkkelordet 'inline'.
Bruk
Makro kan brukes til å definere konstanter, uttrykk, for å erstatte bokstavelig tekst og til å definere funksjoner etc. En innebygd funksjon kan brukes til å minimere gjennomføringstiden for programmet.
Avslutning
Makro avsluttes med den nye linjen. Inline-funksjonen avsluttes med den krøllete avstivningen på slutten av den inline-funksjonen.
Definere punkt
En Marco er definert i begynnelsen av programmet. En integrert funksjon kan være innenfor eller utenfor klassen.

Sammendrag - Makro mot innebygd funksjon

Denne artikkelen diskuterte forskjellen mellom makro og innebygd funksjon. Disse konseptene brukes i C ++ programmering. Forskjellen mellom makro og innebygd funksjon er at en makro blir sjekket av forprosessoren mens en innebygd funksjon blir sjekket av kompilatoren.

Anbefalt: