资讯

展开

宏,计算机术语宏是什么意思

作者:本站作者

1,计算机术语宏是什么意思

在计算机语言里(如c语言),会在开头定义宏,在程序编译过程中,计算机会将程序中出现的定义宏展开为原来的样子。比如:#define M 3+2; 那么M*8就会被计算机展开为3+2*8而不是(3+2)*8; C语言中宏常常可完成一部分函数的功能但却不能替代函数。具体原因可自查。但在office中,宏是指一连串的操作动作,你可以在office中录制宏,也就是用一个标志替代你的一连串动作,以后你想对数据做出相同处理时,调用宏即可。 所以宏你可以理解为:用一个标志去代表一连串的操作动作或代码。
所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。
类似于算术中“公式”

宏,计算机术语宏是什么意思

2,c语言中的宏是指什么

简单来说:宏定义又称为宏代换、宏替换,简称“宏”。是C提供的三种预处理功能的其中一种。复杂的请看下面,讲的很全。下面的带参宏定义,多行宏定义,在Linux内核源码中很多。另外sizeof也是一个宏定义。 宏定义 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译 1. 不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例:   #define PI 3.1415926   把程序中出现的PI全部换成3.1415926 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 2. 带参数的宏定义: 除了一般的字符串替换,还要做参数代换 格式:   #define 宏名(参数表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b; 正确的宏定义是#define S(r) ((r)*(r)) (2)宏名和参数的括号间不能有空格 (3)宏替换只作替换,不做计算,不做表达式求解 (4)函数调用在编译后程序运行时进行,并且分配内存。宏替换在编译前进行,不分配内存 (5)宏的哑实结合不存在类型,也没有类型转换。 (6)函数只有一个返回值,利用宏则可以设法得到多个值 (7)宏展开使源程序变长,函数调用不会 (8)宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值) 3. 宏定义其他冷门、重点知识 #define用法 1、 用无参宏定义一个简单的常量 #define LEN 12 这个是最常见的用法,但也会出错。 比如下面几个知识点你会吗?可以看下: (1) #define NAME "zhangyuncong" 程序中有"NAME"则,它会不会被替换呢? (2) #define 0x abcd 可以吗?也就是说,可不可以用把标识符的字母替换成别的东西? (3) #define NAME "zhang 这个可以吗? (4) #define NAME "zhangyuncong" 程序中有上面的宏定义,并且,程序里有句: NAMELIST这样,会不会被替换成"zhangyuncong"LIST 四个题答案都是否定的。 第一个,""内的东西不会被宏替换。这一点应该大都知道。 第二个,宏定义前面的那个必须是合法的用户标识符 第三个,宏定义也不是说后面东西随便写,不能把字符串的两个""拆开。 第四个:只替换标识符,不替换别的东西。NAMELIST整体是个标识符,而没有NAME标识符,所以不替换。 也就是说,这种情况下记住:#define 第一位置第二位置 (1) 不替换程序中字符串里的东西。 (2) 第一位置只能是合法的标识符(可以是关键字) (3) 第二位置如果有字符串,必须把""配对。 (4) 只替换与第一位置完全相同的标识符 还有就是老生常谈的话:记住这是简单的替换而已,不要在中间计算结果,一定要替换出表达式之后再算。 2、 带参宏一般用法 比如#define MAX(a,b) ((a)>(b)?(a):(b)) 则遇到MAX(1+2,value)则会把它替换成: ((1+2)>(value)?(1+2):(value)) 注意事项和无参宏差不多。 但还是应注意 #define FUN(a) "a" 则,输入FUN(345)会被替换成什么? 其实,如果这么写,无论宏的实参是什么,都不会影响其被替换成"a"的命运。 也就是说,""内的字符不被当成形参,即使它和一模一样。 那么,你会问了,我要是想让这里输入FUN(345)它就替换成"345"该怎么实现呢? 请看下面关于#的用法 3、 有参宏定义中#的用法 #define STR(str) #str #用于把宏定义中的参数两端加上字符串的"" 比如,这里STR(my#name)会被替换成"my#name" 一般由任意字符都可以做形参,但以下情况会出错: STR())这样,编译器不会把“)”当成STR()的参数。 STR(,)同上,编译器不会把“,”当成STR的参数。 STR(A,B)如果实参过多,则编译器会把多余的参数舍去。(VC++2008为例) STR((A,B))会被解读为实参为:(A,B),而不是被解读为两个实参,第一个是(A第二个是B)。    4、 有参宏定义中##的用法 #define WIDE(str) L##str 则会将形参str的前面加上L 比如:WIDE("abc")就会被替换成L"abc" 如果有#define FUN(a,b) vo##a##b() 那么FUN(id ma,in)会被替换成void main() 5、 多行宏定义: #define doit(m,n) for(int i=0;i<(n);++i)\ m+=i;\ }

宏,计算机术语宏是什么意思

3,宏的含义是什么

宏 hóng〈形〉形声。从宀( mián),表示与家室房屋有关,厷( gōng)声。本义:屋子宽大而深宏,屋深响也。——《说文》。段玉裁注:“屋深也。各本深下衍响字,此因下文屋响而误,今依《韵会》、《集韵》、《类篇》正。…屋深者,其内深广也。”1. 广大,博大:~大。~伟。~图。~愿。~论。~丽。~亮。~观。宽~。2. 姓。相关词组恢宏宏伟宏大宏观宏图宏扬宏博宏达泓宏宏杰宽宏大量恢宏大度大展宏图宏观经济博学宏词宽宏大度取精用宏无关宏旨宏观世界宏才大略
一.释义1.广大,博大:~大。~伟。~图。~愿。~论。~丽。~亮。~观。宽~。 2.姓。二.相关词语宏愿宏毅苌宏宏胜宏量宏指宏贯崇宏宏放宏域 三.计算机术语
壮观,伟大
汉字字义:广大,博大,扩大,光大要是计算机 就是批处理~
宏是让复杂的过程的东西简单话·· 3个技能你也许要点3下 做红就只要1下! 怎么制作! 在游戏的时候按esc选择宏命令设置 例如; /y 我以施放变形术大家不要打羊谢谢! /施放 变形术(羊) 那么就会让对方变羊并且喊出 xx喊到:我以施放变形术大家不要打羊谢谢! 就是这样的··

宏,计算机术语宏是什么意思

4,宏是什么意思

好多人对宏的概念不是很清楚,那就进来看看 宏命令的设置流程: 首先,回车,再敲/MACRO。看见了吧?会弹出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令)两个按键。点New,又会弹出一个窗口,哇,花花绿绿的,里面包括了WOW几乎所有的技能图标,随你喜欢,随便选一个!它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,在它上面有一个输入菜单(别告诉我找不到…它可是占了这个窗口的一半多…)在里面输入特定的内容,然后点Complete。接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,想怎么用就怎么用… 3.下面就是怎样设置宏的内容了,简单的设置大家可以看我们网站上"基础"篇的宏介绍。 相信很多人都知道WOW中的斜杠"/"和表情命令。宏可以将这些命令按照自己对条件的设置串联起来,比如:/Kneel是让你跪下来的动作而/say就是最基础的对话动作 我们现在用一个宏把他们串起来: 第一行内容:“/Kneel” 第二行内容:“/say 如果你不嫁给我,那么我就一辈子不起来…” ” 这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…" 宏可以应用所有WOW中已经定义了的斜杠"/"和表情命令,更要命的是,宏甚至可以应用人物的魔法和技能, 只需要在宏的定义过程中应用"/cast"命令,下面是已知的一些常用命令: /Assist 这是个援助进攻的命令。当你的队伍同时面对几个敌人时,只要点击自己的队友(一般是队伍中的战士),然后使用这个命令,你的目标就会变成战士所选中的目标。大家集中火力消灭一个起! /Cast 这是个使用技能的命令。当你在宏命令里输入/Cast 技能名(技能等级)或者只要按住Shift同时用鼠标点击一下你想要输入的技能的图标。例如当你是一个战士,想制作一个使用战斗怒吼的宏时,你可以输入/Cast Battle Shout(Rank 1)或者是直接按住Shift点击Battle Shout这个技能的图标。当然你可以在一个宏的不同行上输入几个技能,那么当你使用这个宏时,几个技能就会一起释放出来,再用不着你像章鱼一样同时按下几个键了 。 %t 这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。例如,你在宏里写下这么一句。(注意:后面要加一空格。) “/g %t ,今天天气真好,有没兴趣和我一起上山采蘑菇…” 如果你点中一位名叫苯笨的玩家,那么当你按下这个宏时,你就会说:“笨笨,今天天气真好,有没兴趣和我一起上山采蘑菇…” /Target 这是一个自动选择目标的命令,你可以在宏里输入/Target (xxx),那么当你按下这个宏时,你将自动选定这个叫xxx的目标。 /in 这是一个延时命令,时间以秒为单位。同时它不支持攻击指令。格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞, /say start! /in 3 say 3s later /in 6 say 6s later 二:进阶教程 一些有用的 Macro 1。允许你在窗口和全屏状态之间切换 /script SetCvar("gxWindow", 1 - GetCvar("gxWindow")); /console gxRestart 2。对于法师,必须要有的:将“X”换为你目前的变形术等级(下同);用它替换掉变形术技能。当你在队伍之外时使用它会得到“你不在队伍中。”的信息,但在队伍中的时候其它同伴会了解到你将释放的变形术目标。 /p Sheeping >>> %t <<< /cast Polymorph (Rank X) 3。作为一个术士,这是在队伍中使用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击,跟着一个虚弱诅咒。 /assist 队伍中的拖怪手或者坦克的名字 /script PetAttack(); /cast Curse of Weakness (Rank X) 4。从背包和袋子里切换身上的武器 /script if ( not CursorHasItem() ) then PickupContainerItem(, ); PickupInventoryItem( ); end bag# - 使用哪一个袋子的物品(0、1、2、3、4。0是背包) slot# - 袋子里的位置(从0至左上) equip# - 16 是主要武器, 17 是副武器 5。这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。然后会自动将目标切换回你最后一个敌人。它同时还会使用队聊提醒队友你会治疗哪一个人。 /script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end 6。加速任务显示速度 /script QUEST_DEscriptION_GRADIENT_CPS = 600000 /script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS") /script DEFAULT_CHAT_FRame:AddMessage("quest text will scroll faster now"); 7。消除等待接受任务的时间 /script AcceptQuest() 8。这个宏可以在路上自动护送玩家做任务。 /assist [player name] /cast 法术(Rank X) /target [player name] /follow [player name] 9。切换主副武器,详情看第四条 /script PickupInventoryItem(16); PickupInventoryItem(17); 10。在没有目标或者目标是敌人的时候给自己加增益魔法或治疗。 CastSpellByName("Spell Name(Rank X)"); if ((SpellIsTargeting()) and (not UnitIsFriend("player","target"))) then SpellTargetUnit("player"); end; TargetLastEnemy(); 11。切换双手武器与单手+盾或者双手挥舞武器 /script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem (4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem (4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end 12。设定“真实鼠标视野” /script CameraOrSelectOrMoveStart(arg1); 想取消就再次输入。 13。切换近程技能栏和远程技能栏 /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); /cast aspectofmon key (just use the left click) /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage(); /cast aspectofhawk (just use the left click) 14。牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友加血,免除了还要鼠标确 定目标的操作。依次类推,从第一个人到最后一个 给队友1加血: /script TargetUnit(GetPartyMember(1)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 给队友2加血: /script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 给队友3加血: /script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 15。一键解决喂养宠物:这个宏会从最左边的袋子里的第一个位置拿出食物喂养宠物,如果所在的位置 没有食物,它会自动打开袋子。 /script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then OpenBag(4); else CastSpellByName("Feed Pet"); PickupContainerItem(4, 1); end end 16。术士宏 1)如果目标生命大于20,释放抽取生命法术,否则使用灵魂抽取。 /script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else CastSpellByName("Drain Soul(Rank 2)") end; 2)虚弱诅咒版本 /script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else CastSpellByName("Curse of Weakness(Rank X)") end; 17.先治疗自己,然后自动选中上次的敌人 /target Pugar //选择自己,假设自己的名字是Pugar /cast Lesser Heal (Rank 1) //施展次级治疗rank1 /script TargetLastEnemy(); //重新选择刚刚选择的敌人 /script AttackTarget(); //攻击,等同于右键点击敌人 18.对于一个术士很有用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击 ,跟着一个虚弱诅咒。 /assist 队伍中的拖怪手或者坦克的名字 /script PetAttack(); /cast Curse of Weakness (Rank X) 19.等治疗完之后提醒别人注意下自己有可能被怪打,不加延时的话,就没这个效果了。 /p healing %T, need 3s, don"t run away /cast heal (rank 1) /in 4 p cured %T 300HP,please notice the enemies turn on me^_^ 20.在路上自动护送朋友做任务。 /assist [player name] /cast 法术(Rank X) /target [player name] /follow [player name] 三:高级教程 WOW的宏函数库可以去这两个地方查: http://www.cosmosui.org/texts/BlizzardCommands.xml http://www.wowwiki.com/index.php/World_of_Warcraft_API 函数的使用比较简单,学习过编程的都比较容易上手,基本的用法是在函数前加/script 来使用。比如 /script CURRENT_ACTIONBAR_PAGE = X; /script ChangeActionBarPage(); 就是将你的快捷栏翻到第X页。 函数库中有许多函数都是非常有用和方便的,比如一次打开所有包包: /script OpenAllBags(); 配合关闭包包的函数,一次关闭所有包的宏也可以实现: /script CloseBag(0); /script CloseBag(1); /script CloseBag(2); /script CloseBag(3); /script CloseBag(4); 怎么样,下次你卖东西的时候不会一个个开包关包了吧? 使用函数还不是最恐怖的,恐怖的是WOW的宏是可以用条件判断的,看下面这两个: /script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if ( UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end 据说这个包含if,then的宏可以让盗贼实现自动根据combo点数来使用技能(未测试),其中还使用了角 色MANA值的调用,恐怖吧?还有这个查找spell的宏: function GetSpellIdByItsName(myWantedSpell, myWantedRank) local spellId = 1; local spellBook = "spell"; local spellName, rankName; spellName, rankName = GetSpellName(spellId, spellBook); while (spellName ) do if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank ) ) ) then return spellId; end spellName, rankName = GetSpellName(spellId, spellBook); end return -1; end 里面可以自己定义function,还使用了while,do这样的循环,是不是让你想到了N种应用的可能呢? 遗憾的是,目前官方似乎没有提供延时的宏,所以在战斗中使用多种有延时的技能是无法实现的(无延时的技能可以实现同时使用),类似换其他武器-使用技能或法术-换回武器这样的功能也无法实现, (所谓用宏实现剑盾战士换双手武器MS再换回来是行不通的),不过使用COSMOS的朋友可以用/in 来实现非战斗指令的延时,比如 /in 3 say hi 就会在3秒后说句hi。 /in 6 /script MoveForwardStart(arg1); 就会在6秒后向前跑。 虽然法术和技能无法用/in指令来延时,但这样已经很强大了,比如,你可以编出各种运动的宏,如兜后,转身等。PVP时估计是必不可少的。 下面是一个玩家写的双手武器战士自动逃跑的宏: /script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown (12);ActionButtonUp(12); /cast Thunder Clap(Rank 1); /script TurnLeftStart(arg1); /in 1 /script TurnLeftStop(arg1);ToggleAutoRun(); 使用这个宏的条件:在大包包第二格放了回复药,快捷栏第11,12分别是一单手一盾的快捷方式。 使用这个宏后,角色自动喝回复药,装备上盾,使用Thunder Clap(这三个动作同时进行),向后转180度后开自动跑步键逃走。其中技能等可以根据需要自己改。怎么样,是不是很夸张啊,哈哈。 还有一些有用的宏: 切换装备, 双手切换单手并换第二个快捷栏,快捷栏第11,12分别是一单手一盾的快捷方式 /script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12); /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); 单手切换双手并换回第一快捷栏,快捷栏12是一双手武器快捷方式 /script ActionButtonDown(12);ActionButtonUp(12); /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage(); 几个简单的宏 1. 对自己使用绷带 /script TargetUnit("Player"); /use Mageweave Bandage /script TargetLastEnemy(); * 这里用的时 Mageweave Bandage ,你可以改成适合你自己的绷带名 * use 是 Cosmos 支持的命令,你必须安装 Cosmos 才能使用这个宏,如果你没有 Cosmos,使用下面的宏(绷带必须放在主背包第一格) /script TargetUnit("Player"); /script UseContainerItem(0,1); /script TargetLastEnemy(); 2. 对敌人的 Pet 使用技能 /script TargetUnitsPet("target"); /cast Blind /script TargetLastEnemy(); * Blind 是技能名,你可以用自己的技能,这里用了盗贼的 Blind (我是盗贼啦,呵呵) ** /script 是使用 脚本 的命令,可供使用的命令参考附件 ** 可以用 Shift + 点击 技能书里图标的方式在宏中添加释放技能的命令 ** 可以用 Shift + 点击 物品的方式在宏中添加物品名 3. 打开所有背包 /script OpenBag(0); /script OpenBag(1); /script OpenBag(2); /script OpenBag(3); /script OpenBag(4); 打开所有背包,可能 /script OpenAllBags() 一样搞定:P 热键Shift + B 也是可以的 4.战士用,双手武器切换单手武器+盾: 首先在快捷栏10、11、12(也就是0、 -、 =的位置)拖上双手武器、单手武器、盾的快捷方式; 双手武器: /script ActionButtonDown(10);ActionButtonUp(10); 单手武器+盾: /script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12); 以下命令全部中空格用下划线_来表示 %后面的都是变量 =各种命令分类收集= 参数设置 %t 切换当前目标命令 /target_%name /assist_%name /script_TargetLastEnemy(); 游戏动作 /cast_%skillname(rank_%d) /f /script_UseAction(n%d, %d); 设置延迟命令 /pause_%d 聊天常用命令 /s_ /p_ /g_ /raid_ =应用部分说明= 聊天部分命令我就省略了…重点说明游戏中实际关系到游戏操作的命令 首先%t是指当前目标名称,%t大多是用在聊天中…比如: … 你好,%t 我开始攻击%t,大家请注意… Pull /script TargetNearestEnemy(); /p Pulling %t /script AttackTarget(); /v inc Assist /assist %t /script AttackTarget(); UsePoison /script UseContainerItem(bag,slot); PickupInventoryItem(16); UseContainerItem(bag,slot); PickupInventoryItem(17); /in 1740 /script DEFAULT_CHAT_FRame:AddMessage("Poison wearing off in one minute")

5,什么是宏它有什么作用

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

6,什么是宏

在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★ 宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※ 如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。
宏是微软公司为其OFFICE软件包设计的一个特殊功能,目的是让用户文档中的一些任务自动化。
宏就是可执行程序,用VB语言编写!一些软件都带有宏工具,方便软件和计算机软件的沟通
宏是Office软件包的一大特色,一个宏就是一段代码,你买一本书时肯定不会把书的所有内容都就出来然后问有没有这本书,宏就像一本书的名字就代表那本书一样,宏使得Office软件变的更加轻便。

7,机械键盘上的宏是什么意思

嗯就是相当于组合键,你玩过魔兽没有那个有宏的,其实就是偷懒的方法,如一个宏里上下左右上上下下这么几个按键顺序,你用宏就会这么的自己在电脑里上下左右上上下下,你录制宏ASDASDASDASD,设定开启为A,开启宏,按下A触发宏,电脑里就反复的asdasdasdasd,当然也能是组合多功能键复制粘贴之类的就是省的你一个一个的按了,按一个键就搞定了,这样的键盘200以上吧,机械的就大几百了,常见的有黑寡妇和杜兰朵终极,因为有内存在键盘里所以贵,另外用软件可以做到宏的效果
宏就是一组功能。你的键盘上应当会多出几个键来 这些就是给你设置宏用的。机械键盘是一种键盘的类型,从结构来说,机械键盘的每一颗按键都有一个单独的开关来控制闭合,这个开关也被称为“轴”。分类:依照微动开关的分类,机械键盘可分为茶轴、青轴、白轴、黑轴以及红轴。正是由于每一个按键都由一个独立的微动组成,因此按键段落感较强,从而产生适于游戏娱乐的特殊手感,故而通常作为比较昂贵的高端游戏外设。优点:1、机械键盘最重要是轴,机械键盘比普通薄膜键盘寿命长,好的机械键盘寿命10多年甚至20多年。2、机械键盘使用时间长久之后,按键手感变化很小,而薄膜则无法达到。3、机械键盘不同的轴的按键手感都不相同,薄膜则触感单一。4、机械键盘可以做到6键以上无冲突,部分机械键盘可以全键无冲突,而6键以上无冲突的薄膜键盘较。缺点:1、售价偏高,因为成本较高。2、虽然键盘有很长寿命,但是防水能力差。
那如何编制ctrl+c ctrl+x ctrl+v这种宏
有宏功能的机械键盘应该都是些比较高端的了吧。宏就是一组功能。 你的键盘上应该会多出几个键来, 这些就是给你设置宏用的。打个比方, 你给某一个键设一个复制的宏, 你选中一个文件, 直接按这个键, 就相当于ctrl+C 的复制功能。
可以用来数学符号,比如说4的平方就要写成4^2, 5的立方就要写成5^3. 当然也可以当笑脸了^o^

8,宏是什么

宏 Excel 办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础和耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。 用“VBA”语言编制程序,并集成到Excel中,可以定制特定的、功能强大的Excel软件(这正是Excel强大功能的突出所在)。 但是,有极少数的人可能会利用“VBA”语言编制专门破坏电脑系统的病毒程序,并集成到Excel中,给电脑使用者带来损失。为了防止这种情况的发生,Excel自带了“宏”检测功能。当发现正在打开的Excel文件带有“宏”时,会提示用户注意,并让用户自行选择是否启用“宏”。电脑提示语言如下:“ x x 文件中包含宏。... 宏可能会携带病毒。取消宏虽可以确保安全,但如果这些宏本身是安全的,则又会损失某些功能。” 是否启用“宏”,取决于软件的来源。如果不知道软件的来源,则不要启用;如果知道其来源,则应当启用,否则将无法使用软件中设定的功能。
宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。 计算机语言如c或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。c的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如m4,c 程序员可以获得更精巧的宏。 lisp类语言如common lisp和scheme有更精巧的宏系统: 宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个c宏可以定义一段语法的替换,然而一个lisp的宏却可以控制一节代码的计算。 获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种lisp 方言有 cond 而没有if ,就可以使用宏由前者定义后者。lisp 语法的去部主要扩展,比如面向对象的clos 系统,可以由宏来定义。
简单说来,宏就是一个包含一系列命令的脚本。最常接触到的就是Office软件中的宏程序。 什么是宏 Excel 办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础和耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。 用“VBA”语言编制程序,并集成到Excel中,可以定制特定的、功能强大的Excel软件(这正是Excel强大功能的突出所在)。 但是,有极少数的人可能会利用“VBA”语言编制专门破坏电脑系统的病毒程序,并集成到Excel中,给电脑使用者带来损失。为了防止这种情况的发生,Excel自带了“宏”检测功能。当发现正在打开的Excel文件带有“宏”时,会提示用户注意,并让用户自行选择是否启用“宏”。电脑提示语言如下:“ x x 文件中包含宏。... 宏可能会携带病毒。取消宏虽可以确保安全,但如果这些宏本身是安全的,则又会损失某些功能。” 是否启用“宏”,取决于软件的来源。如果不知道软件的来源,则不要启用;如果知道其来源,则应当启用,否则将无法使用软件中设定的功能。

9,c语言中的宏是指什么

宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串。1、条件编译:C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。使用宏进行条件编译的用法与使用宏防止多重引用类似。示例如下:使用条件编译,方便程序员在调试程序的过程中,执行一些在程序发布后并不需要执行的指令。只要在需要调试的代码前加上_DEBUG的定义,就可以在调试程序的过程中输出调试信息。这样方便查看程序在运行过程中有没有出现错误,定位错误出现的地方。而在程序发布之前,取消_DEBUG的定义就可以不再执行调试代码。2、宏函数:函数的调用是需要一定的时间和空间代价的。因为系统在调用函数时,需要保留"现场",即将程序要执行的指令的下一条指令的位置压入栈,然后转入调用函数去执行,调用完函数后再返回主调函数,恢复"现场",返回到栈里保存的的下一条指令的位置继续执行。所以函数的调用需要额外的时间和空间代价。而宏函数则不存在上述问题,宏函数在预编译时,同函数定义的代码来替换函数名,将函数代码段嵌入到当前程序,不会产生函数调用。所以会省去普通函数保留现场恢复现场的时间,但因为要将定义的函数体嵌入到当前程序,所以不可避免的会占用额外的存储空间。在频繁调用同一个宏的时候,该现象尤其明显。宏函数的示例定义如下:#define MAX(a,b) ((a)<(b)?(b):(a))宏函数的优点在于避免函数调用,提高程序效率。同时需要注意的是inline标识符。inline也将函数定义为内联的。但是使用内联函数需要注意的是:函数体必须十分简单,不能含有循环、条件、选择等复杂结构,否则就不能作为内联函数了。事实上,有时候即便你没有将函数指定为内联函数,编译器也会将一些简单的函数作为内联函数处理,而对于一些复杂的函数,即使声明为内联函数,编译器也不会理会的。inline函数的瓶颈就在于此,使用inline标识符将函数声明为内联的,但这只是一种提示,到底编译器有没有优化还依赖于编译器的实现,而使用宏函数则完全由代码本身控制。但在使用宏函数的时候,需要明确的是宏函数只是简单的替换,需要注意括号的使用。扩展资料:宏的更多规则特性:(1)宏名一般用大写。(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义。(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。(4)宏定义末尾不加分号。(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。(6)可以用#undef命令终止宏定义的作用域。(7)宏定义不可以嵌套。(8)字符串" "中永远不包含宏。(9)宏定义不分配内存,变量定义分配内存。(10)宏定义不存在类型问题,它的参数也是无类型的。参考资料:搜狗百科--宏定义
简单来说:宏定义又称为宏代换、宏替换,简称“宏”。是C提供的三种预处理功能的其中一种。复杂的请看下面,讲的很全。下面的带参宏定义,多行宏定义,在Linux内核源码中很多。另外sizeof也是一个宏定义。 宏定义 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译 1. 不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例:   #define PI 3.1415926   把程序中出现的PI全部换成3.1415926 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 2. 带参数的宏定义: 除了一般的字符串替换,还要做参数代换 格式:   #define 宏名(参数表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b; 正确的宏定义是#define S(r) ((r)*(r)) (2)宏名和参数的括号间不能有空格 (3)宏替换只作替换,不做计算,不做表达式求解 (4)函数调用在编译后程序运行时进行,并且分配内存。宏替换在编译前进行,不分配内存 (5)宏的哑实结合不存在类型,也没有类型转换。 (6)函数只有一个返回值,利用宏则可以设法得到多个值 (7)宏展开使源程序变长,函数调用不会 (8)宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值) 3. 宏定义其他冷门、重点知识 #define用法 1、 用无参宏定义一个简单的常量 #define LEN 12 这个是最常见的用法,但也会出错。 比如下面几个知识点你会吗?可以看下: (1) #define NAME "zhangyuncong" 程序中有"NAME"则,它会不会被替换呢? (2) #define 0x abcd 可以吗?也就是说,可不可以用把标识符的字母替换成别的东西? (3) #define NAME "zhang 这个可以吗? (4) #define NAME "zhangyuncong" 程序中有上面的宏定义,并且,程序里有句: NAMELIST这样,会不会被替换成"zhangyuncong"LIST 四个题答案都是否定的。 第一个,""内的东西不会被宏替换。这一点应该大都知道。 第二个,宏定义前面的那个必须是合法的用户标识符 第三个,宏定义也不是说后面东西随便写,不能把字符串的两个""拆开。 第四个:只替换标识符,不替换别的东西。NAMELIST整体是个标识符,而没有NAME标识符,所以不替换。 也就是说,这种情况下记住:#define 第一位置第二位置 (1) 不替换程序中字符串里的东西。 (2) 第一位置只能是合法的标识符(可以是关键字) (3) 第二位置如果有字符串,必须把""配对。 (4) 只替换与第一位置完全相同的标识符 还有就是老生常谈的话:记住这是简单的替换而已,不要在中间计算结果,一定要替换出表达式之后再算。 2、 带参宏一般用法 比如#define MAX(a,b) ((a)>(b)?(a):(b)) 则遇到MAX(1+2,value)则会把它替换成: ((1+2)>(value)?(1+2):(value)) 注意事项和无参宏差不多。 但还是应注意 #define FUN(a) "a" 则,输入FUN(345)会被替换成什么? 其实,如果这么写,无论宏的实参是什么,都不会影响其被替换成"a"的命运。 也就是说,""内的字符不被当成形参,即使它和一模一样。 那么,你会问了,我要是想让这里输入FUN(345)它就替换成"345"该怎么实现呢? 请看下面关于#的用法 3、 有参宏定义中#的用法 #define STR(str) #str #用于把宏定义中的参数两端加上字符串的"" 比如,这里STR(my#name)会被替换成"my#name" 一般由任意字符都可以做形参,但以下情况会出错: STR())这样,编译器不会把“)”当成STR()的参数。 STR(,)同上,编译器不会把“,”当成STR的参数。 STR(A,B)如果实参过多,则编译器会把多余的参数舍去。(VC++2008为例) STR((A,B))会被解读为实参为:(A,B),而不是被解读为两个实参,第一个是(A第二个是B)。    4、 有参宏定义中##的用法 #define WIDE(str) L##str 则会将形参str的前面加上L 比如:WIDE("abc")就会被替换成L"abc" 如果有#define FUN(a,b) vo##a##b() 那么FUN(id ma,in)会被替换成void main() 5、 多行宏定义: #define doit(m,n) for(int i=0;i<(n);++i)\ m+=i;\ }
文章TAG:  计算机术语宏是什么意思  计算  计算机  术语  
相关教程
猜你喜欢