条件编译C语言中条件编译的实例

条件编译  时间:2021-08-25  阅读:()

如何根据单片机端口状态来进行条件编译

端口状态只是让单片机选择要运行的程序段。

不是条件编译。

各状态下的程序都是编译了下载到单片中的,端口状态是用来选择,程序运行哪一段。

就程序中普通的if 判断跳转。

就是不运行的程序段也是下载到单片机中,占程序空间的。

条件编译,是在代码中加条件开关,在电脑上编译时,如果某个条件不成立,就不编译其中的程序段。

这样编译好的程序代码下载到单片机中就定死了只能执行在编译时条件成立的程序,因为只编译了这部分。

没有编译的是不占程序空间的。

C语言中条件编译和If语句之间的差别,各适用于什么情况

展开全部 条件编译是C语言中预处理部分的内容,它是编译器编译代码时最先处理的部分, 条件编译里面有判断语句,比如 #if 、#else 、#elif 及 #endif 它的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译,如 #define A 0 //把A定义为0 #if (A > 1) printf("A > 1"); //编译器没有编译该语句,该语句不生成汇编代码 #elif (A == 1) printf("A == 1"); //编译器没有编译该语句,该语句不生成汇编代码 #else printf("A < 1"); //编译器编译了这段代码,且生成了汇编代码,执行该语句 #endif 而 if 语句则不然,if 是 C 语言中的关键字,它根据表达式的计算结果来觉定执行那个语句,它里面的每个分支都编译了的, 如 #define A 0 if (A > 1) printf("A > 1"); //编译器编译该语句,但因为A == 0 未执行 else if(A == 1) printf("A == 1"); //编译器编译该语句,但因为A == 0 未执行 else printf("A < 1"); //编译器编译该语句,因为A == 0 故执行 所以 简单地讲,条件编译是根据 宏条件 选择性地编译语句,它是编译器在编译代码时完成的; 条件语句是根据条件表达式选择性地执行语句,它是在程序运行时进行的。

C语言中条件编译的实例

条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。

其中#else部分也可以没有,即: #ifdef 程序段1 #endif 这里的“程序段”可以是语句组,也可以是命令行。

这种条件编译可以提高C源程序的通用性。

如果一个C源程序在不同计算机系统上系统上运行,而不同的计算机又有一定的差异。

例如,我们有一个数据类型,在Windows平台中,应该使用long类型表示,而在其他平台应该使用float表示,这样往往需要对源程序作必要的修改,这就降低了程序的通用性。

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

限时新网有提供5+个免费域名

有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...

GigsGigsCloud($26/年)KVM-1GB/15G SSD/2TB/洛杉矶机房

GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...

条件编译为你推荐
自己动手写操作系统怎么写操作系统?方便快捷Win10有哪些方便快捷的操作小技巧网不易作文:《网络利弊谈》通话宝什么是来电宝?有什么用处?零终端如何打开android命令行终端无线存储手机wifi无线摄像头可以储存吗解码器有什么用监控解码器是指什么?锤子手机发布会视频锤子手机发布会上,老罗说安卓不是原生的安卓这是什么意思?原生的安卓应该是什么样呢?access数据库入门access的用法?大数据人才培养聚焦大数据人才 需要哪些技能?
网址域名注册 免费com域名申请 域名备案收费吗 免费cn域名 rackspace ubuntu更新源 有奖调查 服务器是干什么的 网通服务器托管 免费dns解析 国外ip加速器 吉林铁通 双12 联通网站 韩国代理ip 电信网络测速器 石家庄服务器托管 碳云 forwarder 免费网站加速 更多