Skillnad mellan makro och inline funktion

Huvudskillnad - Macro vs Inline Fungera
 

Ett makro är ett fragment av kod, vilket är ett preprocessor-direktiv. En inline-funktion är en C ++-förbättringsfunktion för att minimera körningstiden för ett program. Därför nyckelskillnad mellan makro och inline funktion är det ett makro kontrolleras av förprocessorn medan en inline-funktion kontrolleras av kompilatorn.

Ett makro ingår i början av programmet föregås av ett hash-tecken. När det finns makronamnet i programmet ersätts det med makrons innehåll.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är makro
3. Vad är Inline Function
4. Jämförelse vid sida vid sida - Macro vs Inline-funktion i tabellform
5. Sammanfattning

Vad är makro?

Förprocessorn är ett program som behandlar källkoden innan den går igenom kompilatorn. Den arbetar med preprocessor kommandoraden eller direktiverna. I programmet placeras förbehandlingsdirektiven i källprogrammet före huvudprogrammet. Innan källkoden går igenom kompilatorn, kontrolleras den av förbehandlaren för förbehandlingsdirektiv. Förbehandlingsdirektiven har symbolen #. Till skillnad från andra uttalanden slutar de inte med en semikolon. En typ av förbehandlingsdirektiv är makro. Vanligtvis skrivs makronerna i stora bokstäver.

Figur 01: C ++ Program med makron

Enligt ovanstående program anger linje 3 och rad 4 makron. Vid beräkning av området ersätts PI-värdet med hjälp av det definierade makroet. I rad 14, volym = CUBE (värde) expanderar förprocessorn uttalandet som volym = (värde * värde * värde). Att hitta kuben kan skrivas som en funktion, men här skrivs det med ett makro. Om det finns ett uttalande som volym = CUBE (x + y), kommer det att expandera till volym = (x + y * x + y * x + y).

Vissa programmeringstoken kan enkelt misslyckas. De kan bytas ut med makron. t.ex. #define OCH &&, #define ELLER ||. En makrodefinition kan också innehålla uttryck som #define AREA 4 * 5.56.

Vad är Inline Function?

När en funktion kallas tar kompilatorn lite tid att utföra den. Om funktionen inte är väldigt komplex kan programmeraren konvertera funktionen till en inline-funktion. Se nedan programmet.

Figur 02: Funktion utan inline

Print_hello är en enkel funktion. Den skriver ut strängen "Hej" när funktionen heter. Exekveringstiden för den funktionen är 0,187s. När du använder inline-nyckelordet enligt följande, minskar körtiden till 0,064s.

Figur 03: Inline-funktion

Därför, genom att använda inline-sökordet, minskar exekveringstiden. Inline-funktionerna fungerar kanske inte om det finns loopar, omkopplingsmeddelanden och om funktionen innehåller statiska variabler eller rekursiva funktioner.

Vad är skillnaden mellan makro och inline-funktionen?

Makro vs Inline-funktion

Ett makro är ett fragment av kod, vilket är ett preprocessor-direktiv som ingår i början av programmet föregås av ett hash-tecken. En inline-funktion är en C ++-förbättringsfunktion för att minimera körningstiden för ett program.
utvärdering Time
I makro utvärderas argumentet varje gång det används i programmet. I inline utvärderas argumentet en gång.
Kontrolleras av
Ett makro kontrolleras av förbehandlaren. En inline-funktion kontrolleras av kompilatorn.
 Nyckelord
Marco använder #define. Inline-funktionen använder sökordet "inline".
Användande
Makro kan användas för att definiera konstanter, uttryck, för textuell textbyte och för att definiera funktioner etc. En inline-funktion kan användas för att minimera programmets körtid.
Uppsägning
Makro slutar med den nya raden. Inline-funktionen avslutas med den krökta spärren vid slutet av inline-funktionen.
Definiera punkt
En Marco definieras i början av programmet. En inline-funktion kan vara inom eller utanför klassen.

Sammanfattning - Macro vs Inline Fungera

I denna artikel diskuterades skillnaden mellan makro och inline funktion. Dessa begrepp används i C ++ programmering. Skillnaden mellan makro och inline funktion är att ett makro kontrolleras av förbehandlaren medan en inline-funktion kontrolleras av kompilatorn.

Referens:

1. "Preprocessor Directives." Cplusplus.com. Tillgänglig här 
2. "C-inline-funktioner". Www.tutorialspoint.com, Tutorials Point, 19 mars 2018. Tillgänglig här