Ero makro- ja rivitoimintojen välillä

Avainero - MaCro vs Inline Toimia
 

Makro on fragmentti koodista, joka on esikäsittelydirektiivi. Inline-toiminto on C ++ -parannusominaisuus, joka minimoi ohjelman suoritusajan. Siksi avainero Makron ja Inline-toiminnon välillä on se esiprosessori tarkistaa makron, kun taas kääntäjä tarkistaa inline-toiminnon.

Makro sisältyy ohjelman alkuun, jota edeltää hash-merkki. Kun ohjelmassa on makronimi, se korvataan makron sisällöllä.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on makro
3. Mikä on rivitoiminto
4. Vertailu rinnakkain - makro vs. rivitoiminto taulukkomuodossa
5. Yhteenveto

Mikä on makro?

Esiprosessori on ohjelma, joka käsittelee lähdekoodin ennen kuin se kulkee kääntäjän läpi. Se toimii esiprosessorin komentorivillä tai direktiiveillä. Ohjelmassa esikäsittelydirektiivit sijoitetaan lähdeohjelmaan ennen pääohjelmaa. Ennen kuin lähdekoodi menee kääntäjän läpi, esikäsittelijä tarkistaa sen esikäsittelydirektiivien suhteen. Esikäsittelydirektiivissä on # -merkki. Toisin kuin muut lausunnot, ne eivät lopu puolipisteellä. Yksi tyyppi esikäsittelydirektiivistä on makro. Yleensä makrot kirjoitetaan isoilla kirjaimilla.

Kuva 01: C ++ -ohjelma makroilla

Yllä olevan ohjelman mukaan rivi 3 ja rivi 4 osoittavat makroja. Pinta-alaa laskettaessa PI-arvo korvataan määritellyllä makrolla. Rivillä 14, tilavuus = CUBE (arvo), esiprosessori laajentaa lauseketta tilavuus = (arvo * arvo * arvo). Kuution löytäminen voidaan kirjoittaa funktiona, mutta tässä se kirjoitetaan makron avulla. Jos lauseessa on tilavuus = CUBE (x + y), niin se laajenee tilavuuteen = (x + y * x + y * x + y).

Jotkut ohjelmointimerkit voivat olla väärin kirjoitettuina. Ne voidaan korvata makroilla. esim. #define AND &&, #define OR ||. Makromäärittely voi sisältää myös lausekkeita, kuten #define AREA 4 * 5.56.

Mikä on rivitoiminto?

Kun funktiota kutsutaan, kääntäjä vie jonkin aikaa sen suorittamiseen. Jos toiminto ei ole kovin monimutkainen, ohjelmoija voi muuntaa toiminnon rivitoimintoksi. Katso alla olevaa ohjelmaa.

Kuva 02: Toiminto ilman rivinvaihtoa

Print_hello on yksinkertainen toiminto. Se tulostaa merkkijono “Hei”, kun toimintoa kutsutaan. Tämän toiminnon suoritusaika on 0,187 s. Kun käytät sisäistä avainsanaa seuraavasti, suoritusaika lyhenee 0,064 sekunniksi.

Kuva 03: Sisäinen toiminto

Siksi, käyttämällä sisäistä avainsanaa, suoritusaika lyhenee. Sisäiset toiminnot eivät ehkä toimi, jos silmukoita, kytkinlausekkeita on ja jos funktio sisältää staattisia muuttujia tai rekursiivisia toimintoja.

Mikä on ero makro- ja rivitoimintojen välillä?

Makro vs. rivitoiminto

Makro on fragmentti koodista, joka on esikäsittelydirektiivi, joka sisältyy ohjelman alkuun, jota edeltää hash-merkki. Inline-toiminto on C ++ -parannusominaisuus, joka minimoi ohjelman suoritusajan.
arviointi Time
Makrossa argumentti arvioidaan joka kerta, kun sitä käytetään ohjelmassa. Inline: ssä väitettä arvioidaan kerran.
Tarkistanut
Esiprosessori tarkistaa makron. Kääntäjä tarkistaa sisäisen toiminnon.
 avainsana
Marco käyttää #define. Inline-toiminto käyttää avainsanaa 'inline'.
Käyttö
Makroa voidaan käyttää vakioiden, lausekkeiden, kirjaimellisen tekstin korvaamisen ja funktioiden määrittelemiseen jne. Inline-toimintoa voidaan käyttää minimoimaan ohjelman suoritusaika.
päättyminen
Makro päättyy uudella rivillä. Inline-toiminto päättyy kihara-aukolla inline-toiminnon lopussa.
Määrittelevä kohta
Marco määritetään ohjelman alussa. Inline-toiminto voi olla luokan sisällä tai ulkopuolella.

Yhteenveto - äitiCro vs Inline Toimia

Tässä artikkelissa käsiteltiin eroa makro- ja rivitoimintojen välillä. Näitä käsitteitä käytetään C ++ -ohjelmoinnissa. Ero makro- ja rivitoimintojen välillä on se, että esiprosessori tarkistaa makron ja kääntäjä tarkistaa rivin toiminnon.

Viite:

1. ”Esikäsittelydirektiivit.” Cplusplus.com. Saatavilla täältä 
2. ”C Inline -toiminnot.” Www.tutorialspoint.com, Tutorials Point, 19. maaliskuuta 2018. Saatavilla täältä