条件编译 预处理指令¶
语法¶
#if condition | #ifdef name | #ifndef name
...
{#elif condition
...}
{#elif condition
...}
{#else
...}
#endif
描述¶
条件编译。条件为真则编译相应代码。
范例¶
1 2 3 4 5 6 7 8 9 10 | //---------------------------------------------------------- //xxx.h #ifndef XXX_H //禁止文件重导入 #define XXX_H //禁止文件重导入 #define STATUS 0x04 //宏定义 #define TEST_I 2 //宏定义 #endif //XXX_H //禁止文件重导入 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | //---------------------------------------------------------- //xxx.c #include "xxx.h" //源文件包含 void main() { int x = #if !defined(TEST_I) || TEST_I == 0 //条件为假 5 //指令不会被编译 #elif TEST_I == 1 //条件为假 4 //指令不会被编译 #elif TEST_I == 2 //条件为真 3 //指令将被编译 #else //其他 2 //指令不会被编译 #endif //条件结束 ; while(1){ } } |