×

C语言程序设计教程之编译预处理的详细资料说明

消耗积分:0 | 格式:rar | 大小:0.21 MB | 2019-01-08

分享资料个

本文档的主要内容详细介绍的是C语言程序设计教程之编译预处理的详细资料说明主要内容包括了:1.宏定义 2.文件包含 3.条件编译

C语言程序设计教程之编译预处理的详细资料说明

  1.1 编译预处理的概念

  编译预处理是指在编译系统对文件进行编译——词法分析、语法分析、代码生成及优化之前,对一些特殊的编译语句先进行处理,然后将处理的结果与源程序一起编译,生成目标文件。

  编译预处理语句都是以#开头,其结尾不带分号(;),以表示与普通程序语句相区别。编译预处理语句分为三类:宏定义、文件包含和条件编译等,它常用于程序设计的模块化、移植、调试等方面。

  宏的作用范围

  宏也具有一定的作用范围,默认情况下,宏的作用范围从定义点开始,到程序源文件的末尾。

  宏定义与函数调用

  带参数的宏定义有些像函数调用,但两者是不同的。

  带参数的宏定义与函数的区别如下:

  ① 宏定义仅是对字符串作简单替换,而函数调用则是按程序的含义来替换形式参数;

  ② 宏定义仅能用于简单的单行语句替换,而函数可用于复杂运算;

  ③ 宏定义仅占用编译时间,不占用运行时间,执行速度快,而函数调用、参数的传递等,都要占用内存开销;

  ④ 宏定义在编译时展开,多次使用会让源程序增大,而函数调用不管多少次总占用相同的源程序空间。

  宏的作用范围从定义点开始,到程序源文件的末尾或使用命令#undef取消定义之前。

  总的来说,当语句较简单时,可考虑使用宏定义,从程序执行的速度来说,它优于函数。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !