Makró

A Programozás Wiki wikiből

Makrónak nevezünk egy olyan rövidítést, amely valamilyen programnyelvi rész, utasítássorozat, vagy felhasználói műveletsorozat helyettesítéseként szerepel.

Assembly[szerkesztés]

A makrók először az assembly nyelveknél jelentek meg. Arra szolgálnak, hogy az egyes összetett műveleteket ne kelljen minden esetben teljesen kiírni. Egyes assemblereknél a makrókhoz argumentumok is rendelhetők, így ez a módszer a strukturált nyelvek eljárásaira emlékeztet, azok előfutárának tekinthető.

C[szerkesztés]

A C és C++ nyelvben a mai napig használhatók makrók. Gyakran forrásszöveg-rövidítésre használják őket, de paraméterezhetőségükből és rugalmasságukból adódóan egyéb célokat is szolgálnak. Számtalan más programnyelvekből ismert elem (sablon, kivétel, objektumok) modellezhető C-ben makrók segítségével. Mivel a makrók helyettesítését az előfordító a tényleges fordítási folyamat előtt végzi, ezért azok kiszámítása egyáltalán nem rontja a kész program teljesítményét. Ma is gyakori, hogy a gyakran hívott programrészeket makrókkal írják meg, így a hívás-visszatérés ismétlődő költsége megspórolható. A működés az inline függvényekéhez válik hasonlóvá. Jól definiált makrókkal egyes platformok közötti különbségek (pl. endianness) kiköszöbölhetők, így platformfüggetlen programok írását is segíthetik.

Más nyelvek[szerkesztés]

A magas szintű programozási nyelveknél a makrók használata lényegesen ritkább. Forrásszöveg-megváltoztatási lehetőségük nehezíti a fordítás közbeni ellenőrzéseket, bizonyos helyzetekben érthetetlen hibaüzeneteket produkálva. A Java és a Pascal nyelvek alapesetben nem tartalmaznak makrókat. Az értelmezett nyelvek helyzete egy kissé más, Perlben, vagy PHPben például maga az értelmező működhet makró-feldolgozóként.

Makrónyelvek[szerkesztés]

A makrók nem csak más programnyelvek elemeiként, hanem önálló nyelvként is szerepelhetnek. Az m4, vagy cpp nyelvvel akár programozástól független szövegek is feldolgozhatók.

Utasítássorozatok[szerkesztés]

Bizonyos alkalmazások és operációs rendszerek lehetőséget adnak arra, hogy egy-egy elvégzett munkafolyamatot rögzítsünk, aztán később újra elvégezzünk. Példa erre a vi, az OSX AppleScript, vagy a Microsoft Office makró-rögzítési lehetősége. A felvett makrók később programnyelvi formában megtekinthetők és módosíthatók. Ennek sokféle hasznán kívül veszélye is lehet, például az ún. makróvírusok.

Külső hivatkozások[szerkesztés]

Wikipédia makró oldal