V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

Makro (software)

Z Multimediaexpo.cz

Makro je v informatice definice pravidla, jak bude vstupní posloupnost transformována na výstupní posloupnost (znaků, akcí, výpočtů a podobně). Tuto transformaci označujeme jako substituci nebo expanzi makra. Původní termín byl zaveden překladači jazyka symbolických adres, kde programátor může pomocí makra zaměnit dlouhou sekvenci příkazů jediným krátkým výrazem (makrem).

Kancelářský balík

V kancelářských balících (Microsoft Office, OpenOffice.org a podobně) označuje makro posloupnost akcí, funkcí nebo příkazů, které usnadňují určitou činnost (např. v programech Microsoft Word a Microsoft Excel). Používají se většinou jako posloupnost kroků při výpočtech, úpravách textu a podobně. Jednoduchým příkladem může být makro pro odstranění speciálních znaků tabulátor a odřádkování nebo makro aktivující určitou akci po stisknutí vybrané kombinace kláves.

Programování

V programovacích jazycích (jazyk C nebo C++) jsou makra nepostradatelnou pomůckou, která je implementována na úrovni preprocesoru jazyka C (cpp). Makra slouží k definování symbolů využitelných při podmíněném překladu, ale i k definování komplikovaných sekvencí, které jsou následně volány v zápisu zdrojového kódu. Výhodou maker je, že jejich předefinováním se při překladu zdrojového kódu automaticky zamění všechny jejich výskyty, což minimalizuje chyby, které by přinesly mnohanásobné editace kódu.[1][2]

Reference

  1. GREENWALD, Irwin D.. The Share 709 System: Programming and Modification. Journal of the ACM, April 1959, roč. 6, čís. 2, s. 128–133. Dostupné online [PDF]. DOI:10.1145/320964.320967.   Quotation: "One of the important uses of programmer macros is to save time and clerical-type errors in writing sequence of instructions which are often repeated in the course of a program."
  2. STRACHEY, Christopher. A General Purpose Macrogenerator. Computer Journal, October 1965, roč. 8, čís. 3, s. 225–241. DOI:10.1093/comjnl/8.3.225.