最新C语言的预处理功能是指 C语言的预处理命令只能实现宏定义和条件编译功能大全

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。

C语言的预处理功能是指 C语言的预处理命令只能实现宏定义和条件编译功能篇一

#define和#include是最常用的预处理,单片机程序不用其他预处理也完全可行。下面是小编为大家带来的关于c语言的预处理的知识,欢迎阅读。

在编译器编译之前,会首先搜索预处理指令,按照指令完成编译,预处理又分为:文件包含、条件编译、布局控制(杂注)和宏替换。

#include""和#include<>,前者是和该c文件相同目录下的.h,如 #include "os_cfg.h" ,或指明路径的.h,如 #include "softwareucos-iisourceucos_ii.h" ;

后者是编译器系统路径中的.h,一般c语言标准库函数在编译器里集成,如 #include 。

只要包含了.h,而.h里有函数声明(或变量、结构体实例),那么不论这个函数(变量、结构体实例)在那个.c文件里定义的,都可以在主c文件中使用。

对于函数,可以按功能分类成各种模块,集合在一起写成一个.c文件,然后作同名的.h给出函数声明,如果模块太多,也可以再用一个.h来包含各模块的.h,ucos-ii中的includes.h就是这样。

对于变量,c模块中的全局变量只对该模块有效,如果想要被其他c文件访问,就得在.h里声明,如果主c包含了这个.h,那么此变量就成了真正全局的了。

对于结构体实例,其结构的定义可以放在.h里,(如果不需要到处定义很多实例放在c里也可以),实例定义在c里,而声明放在.h里,这样就到处可用此实例了。

#include 的对象直接插入到了该位置,所以可能出现#include重复甚至嵌套,用#ifndef...#define...代码...#endif的方法可以保证重复包含的.h那个只在第一次出现时编译.

上面的#ifndef就是条件编译的一种。条件编译主要用于跳过某些代码不编译,这样可以用来写一个c文件,但是适应不同硬件版本,或者可采用不同算法。我就经常用多种算法写同一个功能,#define method 1,#if methof==1...#endif, #if method ==2...#endif

protothread的神奇功能就是用宏和条件编译来实现的。举个例子:

#define lc_init(s) s = 0;

#define lc_resume(s) switch(s) { case 0:

#define lc_set(s) s = __line__; case __line__:

#define lc_end(s) }

#define pt_begin(pt) { char pt_yield_flag = 1; lc_resume((pt)->lc)

每个线程执行一次 pt_begin(pt),这样就创建了一个switch,一开始 pt->lc=0, pt_begin(pt)之后继续执行语句(本protothread的语句,一般是while(1)),执行到pt_wait_until(pt, condition)之类会调用lc_set((pt)->lc);然后return,于是pt->lc记录了行号,创建了case:,下次进到线程之直接走 lc_resume(s)里的switch到上次的位置

主要是#pragma,从实用的角度讲,就是编译器为了简化用户操作,给用户提供了一些命令,不同编译器是不一样的,比如,iar ew430就可以直接定义中断函数而不用管中断向量表在哪儿。(比如arm7就要编译前手动改程序段的中断向量表,dspf2812就要用程序指令改数据段的中断向量表,而51则由keil自动放置中断跳转指令。)

#pragma vector=port1_vector

__interrupt void port_1(void)

{

//code

}

编译器会自动给中断函数指定中断向量。

宏函数其实可以巧妙的代替函数,尤其是很短又没有局部变量的'一些语句,还可以代换很多复杂的格式,如

#define f "%6.2f"

#define f3 f " " f " " f" "

用函数printf(f3,a,b,c),可以同时指定a,b,c 的格式

为了处理一些有用的信息,预处理定义了一些预处理标识符,虽然各种编译器的预处理标识符不尽相同,但是他们都会处理下面的4种:

__file__ 正在编译的文件的名字

__line__ 正在编译的文件的行号

__date__ 编译时刻的日期字符串,例如: "25 dec 2000"

__time__ 编译时刻的时间字符串,例如: "12:30:55"

s("content_relate");

【c语言的预处理】相关文章:

c语言编译预处理

10-06

有趣的c语言预处理

10-04

c语言的预处理代码

09-28

c语言预处理的相关知识

09-28

c语言预处理概述以及文件包含命令

10-06

c语言中的三种预处理功能

09-26

c语言的预处理

09-23

c#中预处理指令#if的使用

09-23

c#中预处理指令#line的使用

09-25

c语言for循环

09-27

猜你感兴趣
最新C语言的预处理功能是指 C语言的预处理命令只能实现宏定义和条件编译功能大全

最新C语言的预处理功能是指 C语言的预处理命令只能实现宏定义和条件编译功能大全

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。C语言的预处理功能是指 C语言的预处理命令只能实现宏定义和条件编译功能...

其他范文 2024-05-09
最新体育部部长ppt竞选稿精选(7篇)

最新体育部部长ppt竞选稿精选(7篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。体育部部长p...

其他范文 2024-05-09
ppt设计大赛策划书怎么做优质(六篇)

ppt设计大赛策划书怎么做优质(六篇)

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。ppt设计大赛策划书怎么做篇一多彩大学生活,传递青春正能量。1.为了进...

其他范文 2024-05-09
最新体育部部长ppt竞选稿5篇(大全)

最新体育部部长ppt竞选稿5篇(大全)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。体育部部长ppt竞选稿篇...

其他范文 2024-05-09
体育部部长ppt竞选稿(通用3篇)

体育部部长ppt竞选稿(通用3篇)

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。大家想知道怎么样才能写一篇比较优质的范文吗?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。体育部部长ppt竞选稿篇一大家好!我是来自本科文秘的宋晴,今天我要竞选的是体...

其他范文 2024-05-09
2024年产品质量保证承诺书(24篇)

2024年产品质量保证承诺书(24篇)

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。产品质量保证承诺书篇一为营造良好的...

其他范文 2024-05-09
最新企业权利划分 企业权力制衡的重要性汇总

最新企业权利划分 企业权力制衡的重要性汇总

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。企业权利划分 企业权力制...

其他范文 2024-05-09
2024年朝鲜烤牛肉做法窍门 朝族烤牛肉通用

2024年朝鲜烤牛肉做法窍门 朝族烤牛肉通用

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。朝鲜烤牛肉做法窍门 朝族烤牛肉篇一牛里脊 1公斤、芝麻盐 1克、酱油 20克...

其他范文 2024-05-09
广播电视编导专业考编制大全

广播电视编导专业考编制大全

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。广播电视编导专业考编制篇...

其他范文 2024-05-09
最新ip地址盗用的常用方法 局域网ip攻击掉线优质

最新ip地址盗用的常用方法 局域网ip攻击掉线优质

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。ip地址盗用的常用方法 局域...

其他范文 2024-05-09
最新摄影闪光灯的运用实用

最新摄影闪光灯的运用实用

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。摄影闪光...

其他范文 2024-05-09
2024年中国注册室内设计师简介图片 中国注册室内设计师证书报名官网精选

2024年中国注册室内设计师简介图片 中国注册室内设计师证书报名官网精选

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。中国注册室内设...

其他范文 2024-05-09
最新低血压患者的福音 低血压病人怎么食疗实用

最新低血压患者的福音 低血压病人怎么食疗实用

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。低血压患者的福音 低血压...

其他范文 2024-05-09
巴特综合征治疗方案优秀

巴特综合征治疗方案优秀

为了确保事情或工作得以顺利进行,通常需要预先制定一份完整的方案,方案一般包括指导思想、主要目标、工作重点、实施步骤、政策措施、具体要求等项目。写方案的时候需要注意什么呢?有哪些格式需要注意呢?以下是小编给大家介绍的方案范文的相关内容,希望对...

其他范文 2024-05-09
2024年猴头菇的功效与作用点精选

2024年猴头菇的功效与作用点精选

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。猴头菇的功效与作用点篇一 猴头菇(学名:heri...

其他范文 2024-05-09
最新css预处理器面试题模板

最新css预处理器面试题模板

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧css预处理器面试题篇一 编写...

其他范文 2024-05-09
2024年人像摄影构图大忌优质

2024年人像摄影构图大忌优质

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。人像摄影构图大忌篇一 如果是初学...

其他范文 2024-05-09
2024年糖醋排骨的做法 糖醋排骨的做法 家常大全

2024年糖醋排骨的做法 糖醋排骨的做法 家常大全

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。糖醋排骨的做法 糖...

其他范文 2024-05-09
2024年江苏师范大学广播电视专硕招生简章 江苏师范大学 编导大全

2024年江苏师范大学广播电视专硕招生简章 江苏师范大学 编导大全

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。江苏师范大...

其他范文 2024-05-09
最新补妆的基本技巧实用

最新补妆的基本技巧实用

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。相信许多人会觉得范文很难写?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。补妆的基本技巧篇一 要知道,再高超的化妆技术也不能保证你能“轻薄”...

其他范文 2024-05-09