最新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-04c语言的预处理代码09-28c语言预处理的相关知识09-28c语言预处理概述以及文件包含命令10-06c语言中的三种预处理功能09-26c语言的预处理09-23c#中预处理指令#if的使用09-23c#中预处理指令#line的使用09-25c语言for循环09-27
-
2023年c语言编程时常犯错误17个问题 c语言编程容易出现的错误优秀
-
c语言编程实习心得
-
机电一体化系统的功能 机电一体化系统的功能构成和定义(5篇)
-
c语言实验保留整数 c语言的保留字符通用
-
最新c语言文件操作解析详解及实例代码 c语言文件操作rb精选
-
c语言心得体会 我的c语言学习心得体会(大全9篇)
-
C语言知识点归纳 c语言知识点总结pdf大全
-
最新c语言文件的基本操作模板
-
c语言编程实习心得范文
-
浅谈学生周记和评语在现代教学中的功能
-
咖啡的功效是哪儿 咖啡的作用和功能优秀
-
最新c语言中的进制 c语言中各种进制数的表示汇总
-
说话能令约会成功
-
最新初学c语言的心得体会 c语言学习心得体会(实用20篇)
-
2023年口译笔记的功能(八篇)
-
努力才能成功的名言 努力拼搏才能成功心得体会(实用10篇)
-
C语言实习总结
-
c语言模拟题库大全
-
最新c语言的声明语句通用
-
C语言的读书心得
-
自我评价的功能(四)自我完善功能
-
维生素a的生理功能?模板
-
亚伟速录自定义功能汇总
-
c语言实验报告
-
C语言实训报告
-
判断肾功能是否正常的指标是哪些精选
-
最新谁都可能成功的成语模板
-
最新多功能船怎么画 未来的多功能船(7篇)
-
最新自理能力的作文 自理能力的含义实用
-
努力就能成功的名言警句有哪些 努力就能成功(汇总11篇)
-
2023年尾巴的功能课件优秀
-
最新c语言心得体会(大全11篇)
-
最新坚持不懈就能成功的名言模板
-
最新大学c语言基础知识点 大学c语言程序设计知识点(五篇)
-
努力才能成功的名言 努力拼搏才能成功心得体会(通用19篇)
-
2023年正能量的励志名言和成功的(精选15篇)
-
C语言实验报告《数组》
-
2023年喝茶的保健作用和功效 饮茶的保健功能大全
-
c语言心得体会500字 c语言心得体会字(五篇)
-
最新c语言的连接符号优秀
-
c语言实训报告范文
-
最新初学c语言的心得体会(大全17篇)
-
c语言的心得体会(实用9篇)
-
学c语言心得体会 我的c语言学习心得体会(精选13篇)
-
多功能教室安全管理责任书
-
2023年c语言简短代码大全
-
最新污水处理的应急预案及流程 污水处理应急预案编制(5篇)
-
c语言实践报告(三篇)
-
最新c语言的心得体会(五篇)
-
C语言实践心得体会
-
c语言实习心得范文
-
多功能铅笔作文400字 多功能铅笔盒图画大全
-
大学c语言基础知识点 大学c语言程序设计知识点(5篇)
-
最新学c语言心得体会(大全8篇)
-
C语言论文致谢
-
广告口号的功能
-
初学c语言的心得体会 c语言学习心得体会(精选20篇)
-
最新c语言的36个关键字优质
-
C语言实验报告《函数》
-
c语言实训报告范文
-
计算机c语言实验报告3篇(大全)
-
2023年c语言编程心得体会通用
-
浅谈数学课堂教学评语的功能
-
最新订阅号的功能(9篇)
-
c语言从零开始学实用
-
最新c语言实训总结200字实用
-
移动智能终端应用软件预置和分发管理暂行规定
-
win10运行c语言汇总
-
人体右脑的功能及开发大全
-
多功能老师作文500字 多功能的作文(300多字(实用四篇)
-
2023年可能性推理的原则 可能性推理定义精选
-
只有努力才会成功 只有努力才能成功作文字优质
-
2023年大学c语言知识点笔记 大学c语言基础考试知识点(五篇)
-
正能量的语言句子实用
-
自我评价的功能(一)
-
自我评价的功能(二)
-
C语言实验报告《综合实验》
-
最新语言实践报告 c语言实践报告(优质11篇)
-
2023年c语言字符串函数的用法 c语言字符串常用函数通用
-
2023年c语言实训心得体会200字 c语言实训心得体会800字(5篇)
-
班主任即时性评语的特点与功能
-
最新c语言的心得体会(模板11篇)
-
最新软件功能承诺书(精选6篇)
-
最新未来的多功能机器人这篇作文是什么 未来多功能机器人绘画(四篇)
-
手机的移动支付功能的作文大全
-
C语言实践心得体会范文
-
2023年c语言试题及答案 c语言试题及答案解析优质
-
简述胎儿附属物的形成和功能 简述胎儿附属物的结构和主要功能优质
-
最新c语言问号冒号怎么用符号表示 c语言问号和冒号连用举例优质
-
2023年只要不放弃就能成功优秀
- 唐诗三百首
- 古诗三百首
- 宋词精选
- 元曲精选
- 古诗十九首
- 小学古诗
- 小学生必背古诗80首
- 小学生必背古诗70首
- 写景的古诗
- 咏物诗
- 描写春天的古诗
- 描写夏天的古诗
- 描写秋天的古诗
- 描写冬天的古诗
- 描写雨的古诗
- 描写雪的古诗
- 描写风的古诗
- 描写花的古诗
- 描写梅花的古诗
- 描写荷花的古诗
- 描写柳树的古诗
- 描写月亮的古诗
- 描写山的古诗
- 描写水的古诗
- 描写长江的古诗
- 描写黄河的古诗
- 描写儿童的古诗
- 山水诗
- 田园诗
- 边塞诗
- 含有地名的古诗
- 节日古诗
- 春节古诗
- 元宵节古诗
- 清明节古诗
- 端午节古诗
- 七夕古诗
- 中秋节古诗
- 重阳节古诗
- 古代抒情诗
- 伤怀的古诗
- 咏史怀古诗
- 爱国古诗
- 送别诗
- 离别诗
- 思乡诗
- 思念的诗
- 爱情古诗
- 励志古诗
- 哲理诗
- 闺怨诗
- 赞美老师的古诗
- 赞美母亲的古诗
- 关于友情的古诗
- 关于战争的古诗
- 忧国忧民的古诗
- 婉约诗词
- 豪放诗词
- 人生必背古诗
- 论语
- 诗经
- 孙子兵法
- 三十六计
- 史记
- 周易
- 山海经
- 资治通鉴
- 黄帝内经
- 了凡四训
- 梦溪笔谈
- 千字文
- 世说新语
- 左传
- 大学
- 中庸
- 尚书
- 礼记
- 周礼
- 仪礼
- 庄子
- 鬼谷子
- 老子
- 孟子
- 墨子
- 荀子
- 韩非子
- 列子
- 淮南子
- 管子
- 尉缭子
- 吴子
- 伤寒论
- 天工开物
- 素书
- 汉书
- 文心雕龙
- 吕氏春秋
- 孝经
- 孔子家语
- 颜氏家训
- 孙膑兵法
- 搜神记
- 笑林广记
- 楚辞
- 乐府诗集
- 论衡
- 百战奇略
- 战国策
- 三国志注
- 将苑
- 六韬三略
- 反经
- 公孙龙子
- 司马法
- 逸周书
- 黄帝四经
- 清官贪官传
- 睡虎地秦墓竹简
- 贞观政要
- 金刚经
- 佛说四十二章经
- 水经注
- 农桑辑要
- 文昌孝经
- 六祖坛经
- 地藏经
- 徐霞客游记
- 弟子规
- 增广贤文
- 幼学琼林
- 冰鉴
- 容斋随笔
- 智囊
- 围炉夜话
- 商君书
- 魏书
- 周书
- 三字经
- 子夏易传
- 笠翁对韵
- 公羊传
- 尔雅
- 三国志
- 后汉书
- 明史
- 晋书
- 宋史
- 新唐书
- 旧唐书
- 隋书
- 元史
- 宋书
- 北齐书
- 新五代史
- 陈书
- 金史
- 南齐书
- 梁书
- 旧五代史
- 辽史
- 北史
- 南史
- 续资治通鉴
- 明季北略
- 浮生六记
- 高士传
- 大唐西域记
- 传习录
- 小窗幽记
- 国语
- 说苑
- 本草纲目
- 神农本草经
- 难经
- 千金方
- 奇经八脉考
- 濒湖脉学
- 棋经十三篇
- 古画品录
- 茶经
- 百家姓
- 智囊(选录)
- 罗织经
- 朱子家训
- 陶庵梦忆
- 红楼梦
- 三国演义
- 聊斋志异
- 西游记
- 水浒传
- 儒林外史
- 封神演义
- 太平广记
- 警世通言
- 镜花缘
- 醒世恒言
- 剪灯新话
- 隋唐演义
- 初刻拍案惊奇
- 老残游记
- 博物志
- 孽海花
- 三侠五义
- 穆天子传
- 二刻拍案惊奇
- 喻世明言
- 说唐全传
- 老残游记续集
- 三刻拍案惊奇
- 四十二章经
- 心经
- 法华经
- 华严经
- 楞伽经
- 无量寿经
- 圆觉经
- 易传
- 抱朴子
- 阴符经
- 黄庭经
- 文子
- 太玄经
- 悟真篇
- 声律启蒙
- 随园诗话
热点推荐
下一篇:个人房屋租赁租赁合同标准版