新闻资讯
看你所看,想你所想

宏(计算机术语)

宏(计算机术语)

宏(计算机术语)

计算机科学里的宏(Macro),是一种批量处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字元串)如何根据预定义的规则转换成对应的输出(通常也是字元串)。这种替换在预编译时进行,称作宏展开。

基本介绍

  • 中文名:宏
  • 外文名:Macro
  • 特点:批量批处理的称谓
  • 用途:自动化频繁使用的序列 

什幺是宏

所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。Word使用宏语言Visual Basic将宏作为一系列指令来编写。
计算机科学里的宏是一种抽象的,根据一系列预定义的规则替换一定的文本模式。Excel办公软体自动集成了“VBA”高级程式语言,用此语言编制出的程式就叫“宏”。使用“VBA”需要有一定的编程基础,并且还会耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。
解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。
宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。
计算机语言如C或彙编语言有简单的宏系统,由编译器或彙编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜寻和替换,使用附加的文本处理语言如M4,C 程式设计师可以获得更精巧的宏。
Lisp类语言如Common Lisp和Scheme有更精巧的宏系统: 宏的行为如同是函式对自身程式文本的变形,并且可以套用全部语言来表达这种变形。一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。获得了控制代码的执行顺序(见惰性计算和非限制函式)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种Lisp 方言有 cond 而没有if ,就可以使用宏由前者定义后者。Lisp 语法的去部主要扩展,比如面向对象的CLOS 系统,可以由宏来定义。
宏

宏的典型套用

加速日常编辑和格式设定 组合多个命令 使对话框中的选项更易于访问 使一系列複杂的任务自动执行
应用程式也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程式来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来直接使用那些应用程式的功能。当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录用户希望得到的一连串操作,然后通过阅读应用程式记录下来的宏档案来理解宏命令的结构组成。

宏编程介绍

在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什幺,然后打开宏档案并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains账务(?accounting)软体的 Dexterity 运行时引擎,不能从其它数据源(如由逗号分隔的文本档案)导入数据。这一限制可以通过用更强大的程式语言,如 VBA 来创建一个电脑程式在此弱程式语言里生成一个特别的宏来解决。例如,可以对 Microsoft Excel 宏编程从扩展样式表或文本档案中读取数据并创建 Great Plains .mac 档案,这一档案被用于将特定的数据导入 Great Plains. 需要针对每一个新的数据集合生成新的 .mac 档案。

键盘宏

键盘宏和编辑器宏分别在图形用户界面和编辑器中被互动式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重複性任务提供了一个简单的自动化形式。
程式设计师的文本编辑器 Emacs (“编辑宏”[Editing MACroS]的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的,Emacs 最初被设计为编辑语言 TECO 的宏集,后被移植为 Lisp 的一种方言 Emacs Lisp。

宏语言

宏语言是一类程式语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程式中套用普遍。例如, C preprocessor C预处理器Internet Macros(iOpus) M4(如前所述,源于AT&T,捆绑于Unix)
宏定义
c程式提供的预处理功能之一。包括带参数的宏定义和不带参数的宏定义。具体是指用一个指定的标誌符来进行简单的字元串替换或者进行阐述替换。形式为:
#define标誌符[(参数表)] 字元串
宏名
在上定义中的标誌符被称为“宏名”。
宏展开
在c程式编译时将宏名替换成字元串的过程称为“宏展开”。
宏语言是一类程式语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用, 但在文本处理程式中套用普遍。例如,
C preprocessorC 预处理器
Internet Macros(iOpus)
M4(如前所述,源于AT&T,捆绑于Unix)

微软Word和宏病毒

Visual Basic for Applications (VBA),是 Microsoft Office 里的一种程式语言. 但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程式的宏思想,所以它被广泛地错误地称为是一种宏语言。
VBA 可以访问许多作业系统函式并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如openoffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程式。然而,这一特性在很多事务中受到欢迎。

魔兽世界中的宏

在《魔兽世界》这款游戏中,由于游戏的多样性,使得游戏中虚构的13个种族12大职业以及各种表情动作都十分繁杂,由此以来进行複杂的操作将是十分困难的事情,例如同时激活2种以上的法术,施法的同时用游戏中的聊天系统传送信息等。这时候宏命令就显得非常重要了,wow中的宏命令自游戏运营到现在已经发展出了很多类型的宏命令,小到输入指令就能用一个按键喊话,大到各种技能和状态下的配合运用。
魔兽世界中的宏命令已经成为玩家们日常游戏中不可缺少的一项既有趣又能简化操作的一项重要技术。

转载请注明出处海之美文 » 宏(计算机术语)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com