Verskil tussen makro- en inlynfunksie

INHOUDSOPGAWE:

Verskil tussen makro- en inlynfunksie
Verskil tussen makro- en inlynfunksie

Video: Verskil tussen makro- en inlynfunksie

Video: Verskil tussen makro- en inlynfunksie
Video: LightBurn устанавливает и сначала использует лазеры X-Carve / Opt 2024, Desember
Anonim

Sleutelverskil – Makro vs Inline-funksie

'n Makro is 'n fragment van kode, wat 'n voorverwerker-instruksie is. 'n Inlynfunksie is 'n C++-verbeteringsfunksie om die uitvoeringstyd van 'n program te minimaliseer. Daarom is die sleutelverskil tussen makro en inlynfunksie dat 'n makro deur die voorverwerker nagegaan word terwyl 'n inlynfunksie deur die samesteller nagegaan word.

'n Makro is ingesluit aan die begin van die program, voorafgegaan deur 'n hash-teken. Wanneer daar die makronaam in die program is, word dit vervang deur die inhoud van die makro.

Wat is makro?

Die voorverwerker is 'n program wat die bronkode verwerk voordat dit deur die samesteller gaan. Dit werk met behulp van die voorverwerker-opdragreël of die instruksies. In die program word die voorverwerker-aanwysings in die bronprogram voor die hoofprogram geplaas. Voordat die bronkode deur die samesteller gaan, word dit deur die voorverwerker nagegaan vir voorverwerker-aanwysings. Die voorverwerker-aanwysings het die -simbool. Anders as ander stellings, eindig hulle nie met 'n kommapunt nie. Een tipe voorverwerker-aanwysing is makro. Oor die algemeen word die makro's in hoofletters geskryf.

Verskil tussen makro- en inlynfunksie
Verskil tussen makro- en inlynfunksie

Figuur 01: C++-program met makro's

Volgens bogenoemde program dui reël 3 en reël 4 makro's aan. Wanneer die oppervlakte bereken word, word die PI-waarde vervang deur die gedefinieerde makro te gebruik. In reël 14, volume=CUBE(waarde), brei die voorverwerker die stelling uit as volume=(waardewaardewaarde). Om die kubus te vind kan as 'n funksie geskryf word, maar hierin word dit geskryf deur 'n makro te gebruik. As daar 'n stelling is as volume=KUBE(x+y), dan sal dit uitbrei na volume=(x+yx+yx+y).

Sommige programmeertekens kan maklik verkeerd getik word. Hulle kan vervang word met behulp van makros. bv. definieer EN &&, definieer OF ||. 'n Makrodefinisie kan ook uitdrukkings insluit soos definieer AREA 45.56.

Wat is inlynfunksie?

Wanneer 'n funksie opgeroep word, neem die samesteller 'n rukkie om dit uit te voer. As die funksie nie baie kompleks is nie, kan die programmeerder die funksie na 'n inlynfunksie omskakel. Verwys na die onderstaande program.

Verskil tussen makro en inlynfunksie_Figuur 2
Verskil tussen makro en inlynfunksie_Figuur 2

Figuur 02: Funksie sonder inlyn

Die print_hello is 'n eenvoudige funksie. Dit druk die string "Hallo" wanneer die funksie geroep word. Die uitvoeringstyd vir daardie funksie is 0.187s. Wanneer die inlyn-sleutelwoord soos volg gebruik word, verminder die uitvoeringstyd tot 0.064s.

Sleutelverskil tussen makro- en inlynfunksie
Sleutelverskil tussen makro- en inlynfunksie

Figuur 03: Inlynfunksie

Daarom, deur die inlyn-sleutelwoord te gebruik, verminder die uitvoeringstyd. Die inlynfunksies sal dalk nie werk as daar lusse, skakelstellings is en as die funksie statiese veranderlikes of rekursiewe funksies bevat nie.

Wat is die verskil tussen makro- en inlynfunksie?

Makro vs Inline-funksie

'n Makro is 'n fragment van kode, wat 'n voorverwerker-instruksie is wat aan die begin van die program ingesluit is, voorafgegaan deur 'n hash-teken. 'n Inlynfunksie is 'n C++-verbeteringskenmerk om die uitvoeringstyd van 'n program te minimaliseer.
Evalueringstyd
In makro word die argument elke keer as dit in die program gebruik word geëvalueer. In inlyn word die argument een keer geëvalueer.
Gekontroleer deur
'n Makro word deur die voorverwerker nagegaan. 'n Inlynfunksie word deur die samesteller nagegaan.
Sleutelwoord
Marco gebruik define. Die inlynfunksie gebruik die sleutelwoord 'inline'.
Gebruik
Makro kan gebruik word om konstantes, uitdrukkings te definieer, vir letterlike teksvervanging en om funksies te definieer, ens. 'n Inlynfunksie kan gebruik word om die uitvoeringstyd van die program te minimaliseer.
Beëindiging
Makro eindig met die nuwe reël. Inlynfunksie eindig met die krulhakie aan die einde van die inlynfunksie.
Bepaalpunt
A Marco word aan die begin van die program gedefinieer. 'n Inlynfunksie kan binne of buite die klas wees.

Opsomming – Makro vs Inline-funksie

Hierdie artikel het die verskil tussen makro- en inlynfunksie bespreek. Hierdie konsepte word in C++-programmering gebruik. Die verskil tussen Makro- en Inlynfunksie is dat 'n makro deur die voorverwerker nagegaan word terwyl 'n inlynfunksie deur die samesteller nagegaan word.

Aanbeveel: