【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【每天进步一点点】C语言学习笔记(预处理伪指令)

共13条 1/2 1 2 跳转至

【每天进步一点点】C语言学习笔记(预处理伪指令)

高工
2013-04-03 21:42:12    评分

今天介绍一点关于伪指令的认识,平时很少提到,但是在程序处理过程中还是很重要的,他可以改进程序设计环境,提高编程效率,现在就简单介绍一下呗:

1、 文件包含伪指令

例如:#include <sting.h>语句是文件包含伪指令,其作用是将头文件包含到程序中。一般文件包含伪指令的格式如下:

#include  <头文件名.h>  ;标准头文件

#include “头文件名.h” :自定义头文件

    标准头文件就是按照DOS系统的环境变量include所指定的目录顺序搜索头文件。用户自定义头文件,搜索时,首先在当前目录(通常指源文件所在目录)中搜索,其次按环境变量include指定的目录搜索顺序搜索。搜索到头文件后,就将该伪指令直接用头文件内容替换。

    头文件中的内容主要是定义一些本程序要用到的符号常量、复合变量原型、用户定义的变量类型原型和函数的原型说明等。

    这里介绍的“预处理伪指令”本身不是C语言的组成部分,故不能直接进行编译,而必须在编译前由于处理器将这些“预处理伪指令”用实际的内容代替,因此也成为“编译预处理命令”或“编译处理伪指令”。

注:伪指令行都以#号打头。

2、 宏定义伪指令

伪指令:简单宏、参数宏、条件宏、宏释放。

例:#define 宏标识符  宏体

宏定义伪指令必须在编译前由预处理器将程序中的宏标识符用相应的宏体替换。

参数宏类似于函数的调用,事实上很多库函数是用参数宏写的。

参数宏和函数的区别:一是形式参数表中没有类型说明符;二是参数宏在时空的开销上比函数都小。

3、 条件编译

有时希望程序中的一部分内容只在满足一定的条件下才进行编译,这就是“条件编译”。

例如:#ifdef 标识符

 程序段1;

#endif

等还有其他的形式,这部分应该很好理解,在此就不多少啦。

更多详细内容请参考C程序设计第九章内容,谢谢







关键词: #include    

助工
2013-04-03 22:39:06    评分
2楼
这个真需要。。。现阶段正在编程序,,呵呵,谢谢啦

助工
2013-04-03 22:41:32    评分
3楼
个人觉得关于编程效率最重要,很多程序可以优化,预编译真的需要好好懂得。“条件编译”……,很棒。。。

专家
2013-04-03 23:03:03    评分
4楼

正解,

预编译可以发现很多潜在的问题,而这些问题往往是调试时很难发现的。



高工
2013-04-03 23:39:22    评分
5楼
共同学习呗,希望能分享一下学习过程中的心得,不胜赐教啊

高工
2013-04-03 23:40:29    评分
6楼
老大能详细讲讲不,板凳伺候。。。

高工
2013-04-04 10:38:59    评分
7楼
预编译指令真的很有用,是高手于菜鸟的一道分水岭

高工
2013-04-04 10:48:41    评分
8楼
老大,求赐教啊

高工
2013-04-04 11:07:55    评分
9楼
赐教不敢当,编程还真是一个苦力活,必须多写,多调试,多分析,多总结,反反复复,曲线上升。

高工
2013-04-04 17:42:42    评分
10楼
是够头大的,调试顺利还好,老是BUG不断就惨了

共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]