什么是宏 宏的典型应用
计算机科学里的宏(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 系统,可以由宏来定义。
宏的典型应用
加速日常编辑和格式设置组合多个命令使对话框中的选项更易于访问 使一系列复杂的任务自动执行
应用程序也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来直接使用那些应用程序的功能。当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录用户希望得到的一连串操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。
相关推荐:
最新新闻:
- 相机的iso什么意思?旁轴相机和胶片机的区别
- 相机m档是什么档怎么用的?索尼相机连手机app下载
- 电磁阀几位几通的判断方法是什么?发动机电磁阀的作用
- 如何把u盘里的东西拷到手机里?用手机怎么往u盘里下载歌曲?
- Win11屏幕刷新率调整不了怎么解决?windows11兼容性怎么样?
- PPT柱状图如何增加柱子?ppt文本框内部边距怎么设置?
- 每日速递:NSO 会员N64游戏库今日更新 三款游戏入库
- 全球焦点!《卡普空街机合集2》现已发售 收录32款街机游戏名作
- 腾讯出行微信内测打车功能 采用多平台整合的方式
- 微软启动蓝屏提醒 一代经典Windows 8.1被放弃时间确定
- 当前快报:《霍格沃茨的遗产》新演示短片 展示学校北塔区域
- 全球快资讯丨《生化危机8:村庄-黄金版》雇佣兵额外命令预告发布
- 微信安卓8.0.25版发布 更新日志依然是熟悉得不能再熟悉的9个字
- 微信手表版上线:在vivo Watch 2上就能回复消息
- Windows 11声音音质都开始缩水了 Bug不断用户体验不舒爽
- 优酷投屏收费引热议!官方解答:会员权益不包含投屏
- 荣耀MagicBook 14锐龙版图赏 最高搭载AMD锐龙 7 6800H标压处理器
- Intel新旗舰至强W9-3495首曝
- Redmi G 2022游戏本开启预售 搭载新一代NVIDIA Ampere架构
- Intel 13代酷睿i5-13600K架构/频率大升级
- AirPods Pro 2或将抛弃旧款iPhone 仅可以适配iPhone 11或以上机型
- 世界看热讯:电影《奥本海默》预告泄露 明年7月21日上映
- OPPO Watch 3系列配置剧透 将成为骁龙W5首秀舞台
- 荣耀智慧屏X3i发布 采用一体化金属LCD全面屏主打低端千元市场
- 消息称iPhone15全系将采用叹号屏 苹果全面屏手机/平板加速到来
- iQOO 10 Pro根治电量焦虑症 200W超快闪充的实际体验到底有多好?
- 荣耀平板8首发评测 全新升级性能更强大12英寸屏幕+8扬声器
- 荣耀平板8开箱图赏 12英寸护眼大屏拥有2K分辨率
- 荣耀X40i正式发布 引入了全新的钻彩星河设计
- moto razr 2022或推迟发布 主要卖点是三个数字
- 苹果宣布iOS 16新功能上线 想用先交授权费借此来收取不少费用
- 苹果发布iOS/iPadOS 15.6更新 修复诸多Bug
- 小米13曝光首批搭载骁龙8 Gen2机型
- 荣耀平板8预售 三种选择将于7月29日正式发售
- 当前短讯!《上古卷轴ol》官方宣布 游戏玩家突破2100万
- 焦点要闻:《最后的生还者》重制版无障碍选项曝光 沿用二代
- 世界热资讯!育碧正开发多个《刺客信条》游戏 新作极有可能在日本
- 今日热讯:《命运2》将于8月23日举行专场发布会
- 全球视点!性价依旧良心!新款小米Redmi G游戏本6299元首发:2.5K/165Hz大屏
- 精彩看点:《哥谭骑士》蝙蝠女角色预告公开 小丑不会出现
- 全球视点!《时空勇者》评分汇总:一款Switch必玩的RPG游戏
- 动态焦点:暴跌50%!32GB DDR5内存史低价1169元 好价快买
- 【世界报资讯】每日低价硬货:27英寸4K显示器到手999元
- 每日信息:雷蛇发布新款PS5手柄专用快充底座 369元!
- 【环球播资讯】《漫威蜘蛛侠》PC版推荐配置出炉:GTX 1060还能再战十年
- 天天视讯!内存又降价了!32GB DDR4内存秒杀599元
- 全球信息:《糖豆人》再次联动《哥斯拉》追加全新服装
- 当前资讯!3月上映《龙与地下城:盗亦有道》发布正式预告
- 每日精选:《SD高达 激斗同盟》推出试玩版推出 追加剧情确定
- 环球今热点:《鬼灭之刃:火神血风谭》8月更新鬼化祢豆子
- 【当前热闻】Fami通新一周销量榜 《怪物猎人崛起》再次登顶
- 天天视点!剧情驱动RPG《电气马戏团》9月6日发售 登陆全平台
- 焦点讯息:《七龙珠:破界斗士》弗利萨角色预告 10月13日发售
- 全球看点:《忍者神龟合集》宣布8月30日发售 登陆全平台
- 【全球时快讯】《漫威蜘蛛侠:复刻版》国区开启预购 379元
- 今日讯!诺兰新片《奥本海默》首张海报曝光
- 焦点速讯:互联新体验&护眼新标杆 荣耀全场景发布会推出五大新品
- 天天热文:15天免费试骑 折叠山地自行车仅298元
- 世界观速讯丨开启专业创作新时代 洞察用户需求的华硕靠什么成功?
- 当前讯息:星巴克不锈钢马克杯 小米平替仅29元
- 全球快报:华硕ProArt创16 2022重磅首发 独创华硕旋钮设计玩出创作新花样
- 当前聚焦:美剧《哥斯拉大战泰坦》新卡司公布
- 焦点快报!传字节跳动估值跌破3000亿美元 比去年至少下跌25%
- 天天热资讯!【手慢无】小米12S破发 到手仅3799元 还能6期免息
- 全球信息:好莱坞明星最新片酬曝光 阿汤哥破亿居榜首
- 【世界新要闻】旷世G7六期免息啦!这个暑假就要宅在家里打游戏
- 环球精选!机身细节出众 新CODE01高性能轻薄本新图来了
- 世界热头条丨《光明记忆:无限》今日正式登陆主机端 售价78港币
- 世界要闻:NAND供应过剩!SSD价格还要大降价 降幅不小
- 全球讯息:不打价格战 快递报复性涨价 网友吐槽:还是不送上门
- 当前简讯:被评为天猫精灵“超级黑马伙伴” 森歌集成灶究竟有何魔力?
- 全球热门:京东携手TCL发布一价无忧服务标准
- 【世界速看料】三星完成第二代智能SSD研发 功耗降低70% CPU占用降97%
- 天天简讯:沈腾开用小米12S Ultra:本人自拍被夸帅
- 天天热点!百亿补贴再爆惊喜 12代标压+RTX3050++ 120Hz OLED 华硕无畏Pro15 2022仅需6299元