summaryrefslogtreecommitdiff
path: root/content/notes/宏.md
blob: c6a9897d0cf13c2316f395249ab5c3bc5889fcc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
title: 宏
tags:
  - 计算机
date: 2025-04-21T14:38:00
---

计算机中,宏(macro,也叫「巨集」)的概念很常见,出现在 Excel 和 Word 等办公软件当中,C 语言(`#define`)、Lisp 语言等编程语言中也有宏,键盘似乎也有宏的概念。这个词即使是在英语中(macro)也显得抽象和模糊,宏到底是什么意思?

简单来说,宏是**将短小的命令展开为一系列命令的过程**,一般是为解释器、编译器设定的一系列与处理规则,用于进行**模式替换**。宏的概念也被拓展到了编辑器和键盘映射当中,所以有了键盘宏和 Excel 中的宏。

最常见的宏用于「文本替换」,如 C 语言的宏。

```c
#define N 100
```

在编译器的预处理阶段,源代码中的 `N` 就会被替换(或者说展开)为 `100`。对于 Lisp 语言和其他更强大的宏编程语言,宏展开还能被应用在代码上。宏展开也不总是死板的文本替换,也往往是模式替换,一些笔记软件和效率工具提供的代码段(Snippets)功能也类似于宏。

另一种宏可被视为「快捷指令」,Excel 中录制宏用于之后快速执行某个操作的用法,就属于这种。将一个小的指令自动展开为一系列指令。

总而言之,宏被用于自动化、简化和复用操作。