站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
宏
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
'''宏'''是一种抽象(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 文件。 ==宏应用== [[应用程序]]也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来来直接使用那些应用程序的功能。 当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录一连串用户希望得到的操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。 ===应用方式=== *加速日常编辑和格式设置 *组合多个命令 *使对话框中的选项更易于访问 *使一系列复杂的任务自动执行 ==键盘宏== 键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令串行,并为重复性任务提供了一个简单的自动化形式。 程序员的文本编辑器 [[Emacs]] (“编辑宏”[Editing MACroS]的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的。Emacs 最初被设计为编辑语言 TECO 的宏集,后被移植为 Lisp 的一种方言 Emacs Lisp。 ==宏语言== 宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如, *C preprocessor C 预处理器 *Internet Macros(iOpus) *M4(如前所述,源于AT&T,捆绑于[[Unix]]) ==微软Word和宏病毒== Visual Basic for Applications (VBA),是 Microsoft Office 里的一种编程语言. 但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程序的宏思想,所以它被广泛地错误地称为是一种宏语言。 VBA 可以访问许多[[操作系统]]函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。[[1990年]]代中后期,宏病毒成为了最流行的计算机[[病毒]]类型之一。其它的包括宏语言的项目,如openoffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。 ==相关条目== *[[JS]] *[[脚本]] ==参考来源== *http://zh.wikipedia.org/zh-cn/%E5%AE%8F *http://baike.baidu.com/view/57.htm [[category:计算机术语|H]] [[category:程序设计语言|H]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)