标签:class 条件 信息 nbsp err fine 简写 color 文件
条件编译是通过预编译指令来实现的,主要方法有:
1、#if, #elif, #else, #endif
#if 条件1
代码段1
#elif 条件2
代码段2
...
#elif 条件n
代码段n
#else
代码段n+1
#endif
#if的含义是,如果#if后面的常量表达式为true,则编译它所控制的代码,如条件1成立时就代码段1,条件1不成立再看条件2是否成立,如果条件2成立则编译代码段2,否则再依次类推判断其它条件,如果条件1-N都不成力则会编译最后的代码段n+1.
2、#ifdef, #else, #endif 或 #ifndef, #else, #endif
#ifdef: 表示“如果有定义这个宏”
#ifndef: 表示“如果没有定义这个宏”
#ifdef windows //如果有定义windows这个宏,则执行代码段1,否则执行代码段2
代码段1
#else
代码段2
#endif
#ifndef windows //如果没有定义windows这个宏,则执行代码段1,否则执行代码段2
代码段1
#else
代码段2
#endif
3、通过宏函数defined(macro_name)
参数为宏名(无需加""),如果该macro_name定义过则返回真,否则返回假,用该函数则可以写比较复杂的条件编译指令如
#if defined(macro1) || (!defined(macro2) && defined(macro3))
...
#else
...
#endif
指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码 #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写 #endif 结束一个#if……#else条件编译块 #error 停止编译并显示错误信息
标签:class 条件 信息 nbsp err fine 简写 color 文件
原文地址:http://www.cnblogs.com/linuxAndMcu/p/7726155.html