条件编译

来源:互联网 发布:2017淘宝差评怎么删除 编辑:程序博客网 时间:2024/04/28 23:36

 

 

   #if + 变量名 ,如果变量名没有被定义为非0的数,或者根本没有定义,将不会执行#if 下面的语句   

   如下:

  1. #include<stdio.h>
  2. /*
  3. #if  DEBUG  如果DEBUG 没有被定义时候 is Debug 不会被执行
  4.         如果#define DEBUG 0  is Debug同样不会被执行
  5. */
  6. #define DEBUG 0
  7. void main()
  8. {
  9. #if DEBUG
  10. printf("is  Debug/n");
  11. #endif
  12. printf("Runing/n");

  13. }

    执行结果  Running  

 

 

   #ifdef  + 变量名, #if  defined()只要变量名被#define 定义过,不管其取何值,条件都成立,执行下面的语句

  1. #define WIN 
  2. main()
  3. {
  4. #if defined(WIN)
  5.  printf("yes/n");
  6. #endif
  7. #if !defined(WIN)
  8.    printf("no/n");
  9. #endif
  10. }

     执行结果    yes

 

 

注意:WIN32  已经被系统定义  所以

main()

{

#if defined(WIN32)

 printf("yes/n");

#endif

#if !defined(WIN32)

   printf("no/n");

#endif

}

执行的结果  同样是  yes

 

 

原创粉丝点击