博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
条件编译#if,#else,#endif,#ifdef,#ifndef的使用说明
阅读量:4108 次
发布时间:2019-05-25

本文共 522 字,大约阅读时间需要 1 分钟。

#if的后面接的是表达式

#if (MAX==10)||(MAX==20)代码1……#else代码二……#endif
如果(MAX==10)||(MAX==20)成立,那么编译器就会把代码1编译进去(注意:是编译进去,不是执行!!),否则编译代码2。

#if defined的使用

#if后面接的是一个宏。

#if defined (x)    ...code1...#else    ...code2...#endif

这个#if defined它不管里面的“x”的逻辑是“真”还是“假”它只管这个程序的前面的宏定义里面有没有定义“x”这个宏,如果定义了x这个宏,那么,编译器会编译中间的…code1…,否则编译…code2…。

另外 #if defined(x)也可以取反,也就用 #if !defined(x)

#ifdef的使用

#ifdef的使用和#if defined()的用法一致

#ifndef又和#if !defined()的用法一致。

最后强调两点:

第一:这几个宏定义只是决定代码块是否被编译!
第二:别忘了#endif

如果你的条件在程序编译前就已经确定了,那就用#if;如果条件需要在程序运行过程中才能判断,则用if。

转载地址:http://uassi.baihongyu.com/

你可能感兴趣的文章
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>