当前位置: 首页 > news >正文

外包网站平台网页设计费用一般收多少合适

外包网站平台,网页设计费用一般收多少合适,高端制作网站技术,汉中市建设局网站宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏…

(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串。

1、条件编译:

C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。

预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。

使用宏进行条件编译的用法与使用宏防止多重引用类似。示例如下:

使用条件编译,方便程序员在调试程序的过程中,执行一些在程序发布后并不需要执行的指令。只要在需要调试的代码前加上_DEBUG的定义,就可以在调试程序的过程中输出调试信息。

这样方便查看程序在运行过程中有没有出现错误,定位错误出现的地方。而在程序发布之前,取消_DEBUG的定义就可以不再执行调试代码。

2、宏函数:

函数的调用是需要一定的时间和空间代价的。因为系统在调用函数时,需要保留"现场",即将程序要执行的指令的下一条指令的位置压入栈,然后转入调用函数去执行,调用完函数后再返回主调函数,恢复"现场",返回到栈里保存的的下一条指令的位置继续执行。

所以函数的调用需要额外的时间和空间代价。

而宏函数则不存在上述问题,宏函数在预编译时,同函数定义的代码来替换函数名,将函数代码段嵌入到当前程序,不会产生函数调用。

所以会省去普通函数保留现场恢复现场的时间,但因为要将定义的函数体嵌入到当前程序,所以不可避免的会占用额外的存储空间。

在频繁调用同一个宏的时候,该现象尤其明显。宏函数的示例定义如下:

#define MAX(a,b) ((a)<(b)?(b):(a))

宏函数的优点在于避免函数调用,提高程序效率。

同时需要注意的是inline标识符。inline也将函数定义为内联的。但是使用内联函数需要注意的是:函数体必须十分简单,不能含有循环、条件、选择等复杂结构,否则就不能作为内联函数了。

事实上,有时候即便你没有将函数指定为内联函数,编译器也会将一些简单的函数作为内联函数处理,而对于一些复杂的函数,即使声明为内联函数,编译器也不会理会的。

inline函数的瓶颈就在于此,使用inline标识符将函数声明为内联的,但这只是一种提示,到底编译器有没有优化还依赖于编译器的实现,而使用宏函数则完全由代码本身控制。

但在使用宏函数的时候,需要明确的是宏函数只是简单的替换,需要注意括号的使用。

为了能够真正理解#define的作用,让我们来了解一下对C语言源程序的处理过程。当我们在一个集成的开发环境如Turbo C中将编写好的源程序进行编译时,实际经过了预处理、编译、汇编和连接几个过程。
源程序 

预处理器 

修改后的源程序 

编译器 

汇编程序 

汇编器 

可重定位的目标程序 

连接器 

可执行的目标程序 

 

宏的规则特性:

(1)宏名一般用大写。

(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义。

(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。

(4)宏定义末尾不加分号。

(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。

(6)可以用#undef命令终止宏定义的作用域。

(7)宏定义不可以嵌套。

(8)字符串" "中永远不包含宏。

(9)宏定义不分配内存,变量定义分配内存。

(10)宏定义不存在类型问题,它的参数也是无类型的。

参考文章:https://zhidao.baidu.com/question/414209784.html

参考文章:http://blog.chinaunix.net/uid-20606164-id-3280360.html

http://www.yayakq.cn/news/770964/

相关文章:

  • 企业网站建设网站优化推广广州seo关键词优化是什么
  • 小说网站怎么做流量吗qq邮箱做网站
  • 西北网站建设国内网站做国外服务器
  • 网站设计策划书怎么写七牛云如何做网站缓存
  • 怎么用链接进自己做的网站中亿丰建设集团股份有限公司网站
  • 网站文字不能编辑器哈尔滨市建设工程质量安全站
  • 畜牧业网站建设企业培训课程推荐
  • 白云区建设局网站网站开发进度设计与阶段目标
  • 怎么做球球业务网站厦门企业网站设计公司
  • 英文网站seo宝安多屏网站建设公司好吗
  • 网站建设招聘信息codepen wordpress
  • 火星建站和八亿建站html旅游网站制作代码
  • 微信网站系统怎么更改网站首页图片
  • 三大门户网站是什么本地wordpress 外网访问
  • 茶叶网站开发福田瑞沃前四后四车价格
  • 自己做网站卖东西怎么样网络推广培训班好吗
  • 如何写网站代码是什么原因电子商务网站建设规划说明书
  • 要制作一个自己的网站wordpress 文章名翻译
  • 免费的英文电子外贸网站建设网站架设流程
  • 韩雪个人官方网站赤壁网站建设
  • wordpress 安卓主题下载失败seo外链是什么
  • 宁夏建设局网站建筑工程网络图视频教程
  • 北京城建亚泰建设集团有限公司网站重庆新闻630
  • 番禺建设银行网站个人网站建设好之后怎么赚钱
  • 周村有做网站广告的吗百度关键词挖掘查排名工具
  • 网站的赚钱方式中国第四冶金建设有限公司官方网站
  • 免费微信建站有哪些网站wordpress云盘视频
  • 天河网站建设集团连接友谊
  • 二手房网站排行郑州全域静态管理
  • 帮人做logo网站中国域名后缀