Forskjellen mellom makro og inline funksjon

Nøkkelforskjell - Macro vs Inline Funksjon
 

En makro er et fragment av kode, som er et preprosessor-direktiv. En inline-funksjon er en C ++-forbedringsfunksjon for å minimere gjennomføringstiden til et program. derfor nøkkelforskjell mellom makro og inline funksjon er det En makro blir sjekket av forprosessoren mens en inline-funksjon er sjekket av kompilatoren.

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

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er makro
3. Hva er Inline Function
4. Side ved side-sammenligning - Makro vs Inline-funksjon i tabellform
5. Sammendrag

Hva er makro?

Forprosessoren er et program som behandler kildekoden før den går gjennom kompilatoren. Den opererer ved hjelp av preprocessor kommandolinjen eller direktiver. I programmet er preprosessorene plassert i kildeprogrammet før hovedprogrammet. Før kildekoden går gjennom kompilatoren, kontrolleres den av forprosessoren for preprocessor-direktiver. Forprosessorene har #-symbolet. I motsetning til andre uttalelser slutter de ikke med et semikolon. En type preprocessor-direktiv er makro. Vanligvis er makroene skrevet med store bokstaver.

Figur 01: C ++ Program med makroer

I henhold til det ovennevnte programmet indikerer linje 3 og linje 4 makroer. Ved beregning av området blir PI-verdien erstattet ved hjelp av den definerte makroen. I linje 14, volum = CUBE (verdi), forprosessoren utvider setningen som volum = (verdi * verdi * verdi). Å finne terningen kan skrives som en funksjon, men her er det skrevet med en makro. Hvis det er en setning som volum = CUBE (x + y), vil den ekspandere til volum = (x + y * x + y * x + y).

Noen programmerings tokens kan lett bli feilaktig. De kan erstattes med makroer. f.eks #define OG &&, #define ELLER ||. En makrodefinisjon kan også inkludere uttrykk som #define AREA 4 * 5.56.

Hva er Inline Function?

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

Figur 02: Funksjon uten Inline

Print_hello er en enkel funksjon. Den skriver ut strengen "Hei" når funksjonen kalles. Utførelsestiden for den funksjonen er 0.187s. Når du bruker inline søkeordet som følger, reduseres kjøretiden til 0,064s.

Figur 03: Inline-funksjon

Derfor, ved å bruke inline-søkeordet, reduseres kjøringen. Inline-funksjonene virker kanskje ikke hvis det finnes looper, svitsjer og om funksjonen inneholder statiske variabler eller rekursive funksjoner.

Hva er forskjellen mellom makro og inline funksjon?

Makro vs Inline-funksjon

En makro er et fragment av kode, som er et preprosessor-direktiv som inngår i begynnelsen av programmet foran et hash-tegn. En inline-funksjon er en C ++-forbedringsfunksjon for å minimere gjennomføringstiden til et program.
evaluering Tid
I makro vurderes argumentet hver gang det brukes i programmet. I inline vurderes argumentet en gang.
Sjekket av
En makro kontrolleres av forprosessoren. En inline-funksjon kontrolleres av kompilatoren.
 søkeord
Marco bruker #define. Inline-funksjonen bruker søkeordet 'inline'.
bruk
Makro kan brukes til å definere konstanter, uttrykk, for bokstavlig tekstsubstitusjon og for å definere funksjoner osv. En inline-funksjon kan brukes til å minimere programmets utførelsestid.
Avslutning
Makro avsluttes med den nye linjen. Inline-funksjonen avsluttes med den krøllete staven på slutten av inline-funksjonen.
Definere punkt
En Marco er definert i begynnelsen av programmet. En inline-funksjon kan være innenfor eller utenfor klassen.

Sammendrag - Macro vs Inline Funksjon

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

Henvisning:

1. "Preprocessor Directives." Cplusplus.com. Tilgjengelig her 
2. "C Inline Funksjoner." Www.tutorialspoint.com, Tutorials Point, 19. mars 2018. Tilgjengelig her