宏是什么意思

Nombas 和 ScriptEase
大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代 操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会。这个脚本语言捆绑在一个叫做 CEnvi 的共享软件中,它首次向开发人员展示了这种语言的威力。
Nombas 最终把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)听起来过于消极,同时字母 C “令人害怕”。
现在 ScriptEase 已经成为了 Nombas 产品背后的主要驱动力。

这里面的 “宏” 是什么?

阅读 8.1k
2 个回答

首先引用百科里面的一段话:

计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。
……
绝大多数情况下,使用“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

然后说说我的理解:

很像脚本语言:它会定义一系列指令,有些还能定义变量和进行简单计算。但是它和脚本语言仍然有较大的不同,简而言之就是它们比脚本语言更简单,并且不如脚本语言通用(最简单的一点,宏无法定义脚本语言那样复杂的计算)。

但宏与脚本语言之间的这种界限并不是那么严格,就像脚本语言与高级语言一样。什么语言是脚本语言,什么又是高级语言呢?很难有严格的定义。

宏和脚本语言也一样,主要还要靠自己领悟。可以把理解成更加抽象化、层次更高的脚本语言:脚本语言的一条指令往往能够抵得上很多条高级语言指令,而宏的一条指令往往能抵得上很多条脚本语言的指令。但这样一来也限制了它的通用性,层次越高的语言其通用性也越低,因为很难用它进行精细化的控制,也更难以与底层打交道,所以宏往往只能应用于很小的范围,比如用于某款特定的软件(或软件系列)中。

例子:

  • C/C++里面的宏仅仅只有文本替换功能,可以认为它仅仅定义了这么一个操作,属于最简单类型的宏。

  • 按键精灵里面可以用宏编写按键脚本,这些宏脚本看起来很像脚本语言

  • Windows的批处理脚本与其说是脚本语言,不如说是宏脚本,因为它的行为更像宏

  • 很多软件里面都有宏录制功能,用来录制用户的操作,从而可以重复执行这些操作,实现一定程度的自动化。比如PS、NotePad++等。录制的宏实际上最后会转化为宏脚本,和手动编写是类似的

  • and more...

宏的作用是什么啊?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏