Tofauti Kati ya Utendaji wa Macro na Inline

Orodha ya maudhui:

Tofauti Kati ya Utendaji wa Macro na Inline
Tofauti Kati ya Utendaji wa Macro na Inline

Video: Tofauti Kati ya Utendaji wa Macro na Inline

Video: Tofauti Kati ya Utendaji wa Macro na Inline
Video: Prof. ANNA TIBAIJUKA ACHARUKA/ WATU WANAINGILIA UTENDAJI/BANDARI/ DP WORLD/ MKATABA UREKEBISHWE 2024, Novemba
Anonim

Tofauti Muhimu – Macro vs Inline Function

Makro ni kipande cha msimbo, ambacho ni maagizo ya kichakataji. Utendakazi wa ndani ni kipengele cha uboreshaji cha C++ ili kupunguza muda wa utekelezaji wa programu. Kwa hivyo, tofauti kuu kati ya Macro na Inline Function ni kwamba makro huangaliwa na kichakataji awali huku kitendakazi cha ndani kikiangaliwa na mkusanyaji.

Jumla imejumuishwa mwanzoni mwa programu ikitanguliwa na ishara ya heshi. Wakati kuna jina la jumla katika programu, nafasi yake inabadilishwa na maudhui ya jumla.

Macro ni nini?

Kichakataji awali ni programu ambayo huchakata msimbo wa chanzo kabla ya kupita kwenye kikusanyaji. Inafanya kazi kwa kutumia mstari wa amri ya preprocessor au maagizo. Katika programu, maagizo ya awali yanawekwa kwenye programu ya chanzo kabla ya programu kuu. Kabla ya msimbo wa chanzo kupitia mkusanyaji, hutaguliwa na kichakataji kwa maagizo ya awali. Maagizo ya preprocessor yana alama. Tofauti na taarifa zingine, haziishii na semicolon. Aina moja ya maagizo ya preprocessor ni macro. Kwa ujumla, makro huandikwa kwa herufi kubwa.

Tofauti Kati ya Utendaji wa Macro na Inline
Tofauti Kati ya Utendaji wa Macro na Inline

Kielelezo 01: Mpango wa C++ wenye Macros

Kulingana na mpango ulio hapo juu, mstari wa 3 na mstari wa 4 unaonyesha jumla. Wakati wa kuhesabu eneo hilo, thamani ya PI inabadilishwa kwa kutumia macro iliyofafanuliwa. Katika mstari wa 14, ujazo=CUBE(thamani), mchakataji tangulizi hupanua taarifa kama ujazo=(thamani thamani thamani). Kupata mchemraba kunaweza kuandikwa kama kazi, lakini hapa imeandikwa kwa kutumia macro. Ikiwa kuna taarifa kama sauti=CUBE(x+y), basi itapanuka hadi sauti=(x+yx+yx+y).

Baadhi ya tokeni za programu zinaweza kuandikwa vibaya kwa urahisi. Wanaweza kubadilishwa kwa kutumia macros. k.m. fafanua NA &&, fafanua AU ||. Ufafanuzi mkuu unaweza pia kujumuisha semi kama vile define AREA 45.56.

Utendaji wa Ndani ni nini?

Kitendo cha kukokotoa kinapoitwa, kikusanyaji huchukua muda kukitekeleza. Ikiwa kazi sio ngumu sana, mpangaji programu anaweza kubadilisha kitendakazi kuwa kitendakazi cha ndani. Rejelea programu iliyo hapa chini.

Tofauti Kati ya Macro na Inline Function_Kielelezo 2
Tofauti Kati ya Macro na Inline Function_Kielelezo 2

Kielelezo 02: Inafanya kazi bila Mstari

Chapa_hujambo ni chaguo rahisi. Inachapisha kamba "Halo" wakati kazi inaitwa. Muda wa utekelezaji wa chaguo hili la kukokotoa ni sekunde 0.187. Unapotumia neno kuu la ndani kama ifuatavyo, muda wa utekelezaji unapungua hadi 0.064s.

Tofauti Muhimu Kati ya Utendaji wa Macro na Inline
Tofauti Muhimu Kati ya Utendaji wa Macro na Inline

Kielelezo 03: Kazi ya Mstari

Kwa hivyo, kwa kutumia nenomsingi la ndani, muda wa utekelezaji unapungua. Huenda vitendakazi vilivyo ndani ya mstari visifanye kazi ikiwa kuna vitanzi, badilisha kauli na kama chaguo la kukokotoa lina viambajengo tuli au vitendaji vya kujirudi.

Nini Tofauti Kati ya Utendaji wa Macro na Inline?

Macro vs Inline Function

Makro ni sehemu ya msimbo, ambayo ni maagizo ya kichakataji ambayo yamejumuishwa mwanzoni mwa programu yakitanguliwa na ishara ya heshi. Kitendaji cha ndani ni kipengele cha uboreshaji cha C++ ili kupunguza muda wa utekelezaji wa programu.
Muda wa Tathmini
Kwa jumla, hoja hutathminiwa kila inapotumiwa kwenye programu. Katika mstari, hoja inatathminiwa mara moja.
Imeangaliwa na
Makro huangaliwa na kichakataji awali. Kitendo cha kukokotoa ndani ya mstari kinaangaliwa na mkusanyaji.
Neno kuu
Marco anatumia define. Kitendo cha kukokotoa cha ndani kinatumia neno kuu ‘inline’.
Matumizi
Macro inaweza kutumika kufafanua vifungu, misemo, kwa ubadilishaji wa maandishi halisi na kufafanua vitendaji nk. Kitendakazi cha ndani kinaweza kutumika kupunguza muda wa utekelezaji wa programu.
Kukomesha
Macro itaisha kwa laini mpya. Chaguo za kukokotoa za ndani huisha kwa brashi iliyopinda mwishoni mwa kitendakazi cha ndani.
Mahali pa Kufafanua
A Marco inafafanuliwa mwanzoni mwa programu. Kitendaji cha ndani kinaweza kuwa ndani au nje ya darasa.

Muhtasari – Macro vs Inline Function

Makala haya yalijadili tofauti kati ya Macro na Inline Function. Dhana hizi hutumiwa katika programu ya C ++. Tofauti kati ya Macro na Inline Function ni kwamba makro huangaliwa na kichakataji awali huku kitendakazi cha ndani kikaguliwa na mkusanyaji.

Ilipendekeza: