【C++】条件编译

(一)条件编译

        条件编译,即:有条件的编译,即:根据条件去编译代码,在编译阶段时,就对代码做出取舍,有的编译,有的不编译,这样比写成一个个判断函数更有效率;比如:工程代码大部分的地方都类似,只有个别语句因为使用的硬件版本不同,就可以使用条件编译增加可移植性。

1、条件编译指令

        C/C++ 常用的条件编译指令有:

指令说明
#if编译预处理中的条件命令,相当于C语法中的if语句
#ifdef判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef与 #ifdef 相反,判断某个宏是否未被定义
#elif若 #if、#ifdef、#ifndef 或前面的 #elif 条件不满足,则执行 #elif 之后的语句,相当于C语法中的else-if

#else

与 #if、#ifdef、#ifndef 对应,若这些条件不满足,则执行 #else 之后的语句,相当于C语法中的else
#endif#if、#ifdef、#ifndef 这些条件命令的结束标志

使用说明:

        1)#if、#ifdef、#ifndef 必须与 #endif 配对使用;

        2)在判断某个宏是否被定义时,应当避免使用#if,因为该宏的值可能就是被定义为0。而应当使用 #ifdef 或 #ifndef;

        3)#if、#elif 之后的宏只能是对象宏。如果宏未定义,或者该宏是函数宏,则编译器可能会有对应宏未定义的警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值