summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-04-21 14:39:11 +0800
committerEltrac <hi@guhub.cn>2025-04-21 14:39:11 +0800
commit340635c8b6274c828b4a2315b8b3ccac7978a15a (patch)
tree48b96c4b27bafaa4b455f8badfe02ddd1f3cad6f /content
parent864b69ddc597582289a5eaf2d72a5b395e46791d (diff)
docs: new card
Diffstat (limited to 'content')
-rw-r--r--content/cards/宏.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/content/cards/宏.md b/content/cards/宏.md
new file mode 100644
index 00000000..c6a9897d
--- /dev/null
+++ b/content/cards/宏.md
@@ -0,0 +1,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 中录制宏用于之后快速执行某个操作的用法,就属于这种。将一个小的指令自动展开为一系列指令。
+
+总而言之,宏被用于自动化、简化和复用操作。 \ No newline at end of file