首页 >
宏
✍ dations ◷ 2025-12-06 15:53:55 #宏
宏(英语:Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力。计算机语言如C语言或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是进行简单的文本搜索和替换,使用附加的文本处理语言如M4,C程序员可以获得更精巧的宏。Lisp类语言如Common Lisp和Scheme有更精巧的宏系统:宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种Lisp方言有cond而没有if,就可以使用宏由前者定义后者。Lisp语法的去部主要扩展,比如面向对象的CLOS系统,可以由宏来定义。MacroML有型别语法宏,一种有效的理解方式是把这种语法宏看作是多阶段计算。在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains会计软件的Dexterity运行时引擎,不能从其它数据源(如由逗号分隔的文本文件)导入数据。这一限制可以通过用更强大的编程语言,如VBA来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。例如,可以对Microsoft Excel宏编程从扩展样式表或文本文件中读取数据并创建Great Plains .mac文件,这一文件被用于将特定的数据导入Great Plains.需要针对每一个新的数据集合生成新的.mac文件。应用程序也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来直接使用那些应用程序的功能。当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录一连串用户希望得到的操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式,但2009年已经有所改变。程序员的文本编辑器Emacs(“编辑宏”的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的。Emacs最初被设计为编辑语言TECO的宏集,后被移植为Lisp的一种方言Emacs Lisp。Vim也允许用户录制和播放简单的键盘宏。宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如,Visual Basic for Applications(VBA),是Microsoft Office里的一种编程语言。但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程序的宏思想,所以它被广泛地错误地称为是一种宏语言。VBA可以访问许多操作系统函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如OpenOffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。
相关
- 环境污染控制环境污染控制是控制污染物排放的手段,包括污染物排放控制技术和控制污染物排放政策两个主要方面。技术一般由企业或科研机构去研发,按照市场机制运行,主要以配合污染控制政策为
- 7第7周期元素是元素周期表第七行(即周期)的元素,皆具有放射性,包括锕系元素。有:第1周期元素 - 第2周期元素 - 第3周期元素 - 第4周期元素 - 第5周期元素 - 第6周期元素 - 第7周期
- 拉蒙·柳利拉蒙·柳利(加泰罗尼亚语:Ramon Llull,加泰罗尼亚语:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Co
- 湮灭湮灭(英语:annihilation)是指当物质和它的反物质相遇时,会发生完全的物质-能量转换,转为能量(如以光子的形式)的过程,又称互毁、相消、对消灭。其遵守爱因斯坦的质能关系式E=mc2。其
- HCP磷杂乙炔是一种无色气体,化学式HCP,结构式H—C≡P。磷杂乙炔可以由磷化氢通过炭电弧放电得到,同时也产生乙炔和乙烷,或者由H3CPCl2热分解得到,副产物氯化氢。磷杂乙炔不稳定,仅在
- 英格豪斯詹·英格豪斯 又译(扬 英恩豪斯,扬 英根豪斯, 詹 英恩豪斯)(荷兰语:Jan Ingenhousz,FRS,1730年12月8日-1799年9月7日),荷兰生理学家、生物学家与化学家。他广为人知的最佳成就之一
- 磷酸钠磷酸钠(化学式:Na3PO4)为磷酸盐,是一种无机化合物。一般磷酸钠指的是十二水合磷酸钠(Na3PO4‧12H2O) ,另有无水磷酸钠,易溶于水变为强碱溶液(PH值13~14)。常用于制作软水剂、锅炉
- 第三中间时期第八第十第三中间时期,即古埃及自法老拉美西斯十一世于公元前1070年代死后,至普萨美提克一世于前664年驱逐第二十五王朝的努比亚统治者、创立第二十六王朝之前的一段时期。这
- 辛努塞尔特二世辛努塞尔特二世 Senusret II (希腊人用的称呼是塞索斯特利斯二世 Sesostris II,另一埃及名为森沃斯勒 Senwosret,意为“沃斯雷特(女神)的子民”) 古埃及第十二王朝法老(约公元前189
- 克劳斯·施瓦布克劳斯·马丁·施瓦布(德语:Klaus Martin Schwab,1938年3月30日-),德国工程师和经济学家,后加入瑞士籍。世界经济论坛创办人和执行董事长。1938年出生在德国拉芬斯堡,先后在弗里堡大
