Sian 发表于 2014-3-7 14:30:08

条件编译示例

源代码:
/*
条件编译
1、在预处理中进行条件判断,哪些代码需要进行编译;
2、判断范围仅在预处理代码中进行,无法对实际代码中变量或值进行操作;
3、预处理在编译时进行,决定哪些代码需要参与编译;
*/
#include <stdio.h>
#define MARK3//定义宏MARK

int main() {
   
    printf("%d\n", MARK);// 打印一个整型数据;
   
    int mark = 5;
   
#if (MARK == 5)// 条件编译,判断宏MARK是否等于5;如果相等则将以下代码编译
   
    printf("marked 5\n");// 如果以上条件编译代码中条件为真,则在代码中插入这行代码,而并非执行该代码!!;

#elif (MARK == 4)// 相当于else if,进入另一个条件判断,这些判断的依据都来自于预处理代码,并非源代码。

    printf("marked 4\n");
   
#else

    printf("No marked\n");
   
#endif// 结尾一定要加endif,否则条件如果不成立,后续所有代码都被忽略
   
    system ("pause");
   
    return 0;
   
    }
以上代码翻译相当于:
#include <stdio.h>

int main() {
   
    printf("%d\n", 3);// 打印一个整型数据;
   
    int mark = 5;

    printf("No marked\n");
   
    system ("pause");
   
    return 0;
   
    }

预处理指定或不满足条件编译的指令都不参与程序编译!!


页: [1]
查看完整版本: 条件编译示例