A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Star_FDt78 中级黑马   /  2015-12-12 22:14  /  759 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

发生在预处理阶段,在编译之前做的事情
核心:根据条件编译制定代码
条件不同,编译的部分也不同,生成的目标文件(.o)大小也不一样
列子:
#define score 76

#if score<60
    printf(“E\n”);
#elif score <=69
    printf(“D\n”);
#elif score <=79
    printf(“C\n”);
#elif score <=89
    printf(“B\n”);
#else
    printf(“A\n”);
#endif
//条件编译是编译宏定义里的内容

条件编译指令
1> #if #elif #else #endif

2>#ifdef 用来判断某个宏是否定义
    #ifdef DEBUG1 1

int a =0;
#ifdef DEBUG1
    a=10;
#else
    a=10000;
#endif
//a=10
//DEBUG系统默认定义为1

3>ifndef 检测宏是否定义
    #ifndef 在没定义的情况下执行这行
    #else 定义了就执行这行
   

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马