《剑网3》[疑问]宏是什么-c语言中的“宏”是指什么
更新时间:2020-12-18 10:41:12 | 编辑:气泡游戏网
《剑网3》小伙伴们可能会遇到关于宏是什么的问题,下面气泡网小编就给小伙伴们介绍下相关内容:
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)宏定义不存在类型问题,它的参数也是无类型的。
参考资料:
搜狗百科--宏定义
宏是什么意思
宏是使用脚本实现操作整个的一个功能,宏虽然方便,但它不是万能的,因为它受暴雪的限制,一些有争议影响游戏平衡的宏命令(多为判断命令和延时命令)被禁用。你可以把宏看做你自己制作的一个主动技能,注意它是主动技能,宏是无法在你不去激活它的情况下自动帮你做某事的。
宏是什么意思
就是一组指令集,通过执行类似批处理的一组命令来完成某种功能。
1、EXCEL表格中的宏人基本设置我们以如下例子为例假设我们要填充成如下形式的每一行有7个和第一列一样的数,现在只有第一列有数。
2、首先是录制宏将鼠标在A1单元格处单击一下,然后,点击开发工具(如果没有开发工具,请查看我的其他经验,打开开发工具的方法),单击使用相对引用,然后单击录制宏。
3、在弹出来的页面中单击确定,然后 就将第一行填充到F列,然后单击A2,然后点击停止录制宏。
4、现在你只需要单击宏在弹出来的页面选择你刚才录制的宏执行便可执行9次,就可以全部填充完。
更多《剑网3》相关攻略请点击查看气泡网剑网3攻略专区
-
相关文章
- Related articles
更多
-
热门资讯
- Hot News
更多
-
热游推荐
- Hot Game
更多
-
游戏视频
- Game Videos
更多
-
- 《黑色沙漠》【黑色沙漠台服】觉醒女拳码率录制测试bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】2021年万圣节活动 我遇见了阴间莎亦_网络游戏热门视频(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】降生 10代梦想马bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】万圣节前夜 韩服城战 天马攻城bilibili(视频)
- 时间:2021-11-12