Forskellen Mellem Makro Og Indbygget Funktion

Indholdsfortegnelse:

Forskellen Mellem Makro Og Indbygget Funktion
Forskellen Mellem Makro Og Indbygget Funktion

Video: Forskellen Mellem Makro Og Indbygget Funktion

Video: Forskellen Mellem Makro Og Indbygget Funktion
Video: Супер макро: урок 3, макрофильтры 2024, November
Anonim

Nøgleforskel - Makro vs indbygget funktion

En makro er et fragment af kode, som er et præprocessordirektiv. En inline-funktion er en C ++ forbedringsfunktion for at minimere eksekveringstiden for et program. Derfor er nøgleforskellen mellem makro og inline-funktion, at en makro kontrolleres af forprocessoren, mens en inline-funktion kontrolleres af compileren.

En makro er inkluderet i begyndelsen af programmet forud for et hash-tegn. Når der er makroenavnet i programmet, erstattes det af indholdet af makroen.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er makro

3. Hvad er indbygget funktion

4. Sammenligning side om side - Makro versus indbygget funktion i tabelform

5. Resumé

Hvad er makro?

Forprocessoren er et program, der behandler kildekoden, før den passerer gennem compileren. Det fungerer ved hjælp af preprocessor-kommandolinjen eller direktiverne. I programmet placeres forprocessordirektiverne i kildeprogrammet før hovedprogrammet. Før kildekoden går gennem compileren, kontrolleres den af preprocessoren for præprocessordirektiver. Forprocessordirektiverne har symbolet #. I modsætning til andre udsagn slutter de ikke med semikolon. En type præprocessordirektiv er makro. Generelt er makroerne skrevet med store bogstaver.

Forskellen mellem makro og indbygget funktion
Forskellen mellem makro og indbygget funktion

Figur 01: C ++ - program med makroer

Ifølge ovenstående program angiver linje 3 og linje 4 makroer. Ved beregning af arealet erstattes PI-værdien ved hjælp af den definerede makro. I linje 14, volume = CUBE (værdi), udvider preprocessoren udsagnet som volume = (værdi * værdi * værdi). At finde kuben kan skrives som en funktion, men herinde skrives den ved hjælp af en makro. Hvis der er en erklæring som volumen = CUBE (x + y), udvides den til volumen = (x + y * x + y * x + y).

Nogle programmeringstokens kan let indtastes forkert. De kan udskiftes ved hjælp af makroer. f.eks. #definer OG &&, #definer ELLER ||. En makrodefinition kan også omfatte udtryk som #define AREA 4 * 5.56.

Hvad er indbygget funktion?

Når en funktion kaldes, tager compileren noget tid at udføre den. Hvis funktionen ikke er særlig kompleks, kan programmøren konvertere funktionen til en inline-funktion. Se nedenstående program.

Forskellen mellem makro og indbygget funktion Figur 2
Forskellen mellem makro og indbygget funktion Figur 2

Figur 02: Funktion uden indbygget

Print_hello er en simpel funktion. Den udskriver strengen “Hej”, når funktionen kaldes. Udførelsestiden for denne funktion er 0.187s. Når du bruger det integrerede nøgleord som følger, reduceres udførelsestiden til 0,064 sek.

Nøgleforskel mellem makro og indbygget funktion
Nøgleforskel mellem makro og indbygget funktion

Figur 03: Inline-funktion

Derfor reduceres udførelsestiden ved at bruge det integrerede nøgleord. De integrerede funktioner fungerer muligvis ikke, hvis der er sløjfer, switch-udsagn, og hvis funktionen indeholder statiske variabler eller rekursive funktioner.

Hvad er forskellen mellem makro og indbygget funktion?

Diff artikel midt foran bordet

Makro vs indbygget funktion

En makro er et fragment af kode, som er et forprocessordirektiv, der er inkluderet i starten af programmet, der er forud for et hash-tegn. En inline-funktion er en C ++ forbedringsfunktion for at minimere eksekveringstiden for et program.
Evalueringstid
I makro evalueres argumentet hver gang det bruges i programmet. Inline vurderes argumentet en gang.
Kontrolleret af
En makro kontrolleres af forprocessoren. En inline-funktion kontrolleres af kompilatoren.
Nøgleord
Marco bruger #define. Inline-funktionen bruger nøgleordet 'inline'.
Anvendelse
Makro kan bruges til at definere konstanter, udtryk, til bogstavelig tekstudskiftning og til at definere funktioner osv. En inline-funktion kan bruges til at minimere programmets udførelsestid.
Afslutning
Makro slutter med den nye linje. Inline-funktion afsluttes med den krøllede bøjle i slutningen af inline-funktionen.
Definition af punkt
En Marco defineres i starten af programmet. En inline-funktion kan være inden for eller uden for klassen.

Resumé - Makro vs indbygget funktion

Denne artikel diskuterede forskellen mellem makro og inline-funktion. Disse begreber bruges i C ++ programmering. Forskellen mellem makro og inline-funktion er, at en makro kontrolleres af forprocessoren, mens en inline-funktion kontrolleres af compileren.

Anbefalet: