条件编译

条件编译:有时希望程序其中的一部分只有在满足一定条件时才进行编译,否则不参与编译

条件编译有以下几种形式:

1.#if 常量表达式

       程序段

    #endif

作用:如果常量表达式为真(非零),则相应的程序段被编译,否则跳过它

例如:

#define  MAX 100

main(){

  #if MAX>90

  printf("Hello\n");

       #endif

}

注意:常量表达式是在编译时求值得,因此它只能由事先定义的宏名和常量组成,而不能出现变量。

2. #if  常量表示式

         程序段1

     #else

         程序段2

      #endif

  3. #if  常量表达式1

      程序段1

  #elif 常量表达式2

    程序段2

  #elif 常量表达式2

    程序段3

  ...

  #else 

    程序段n

  #endif

4.# ifdef 宏名

  程序段

 #endif

作用: 如果已经定义了相应的宏名,则编译相应的程序段,否则跳过它。

5. #ifdef 宏名

    程序段1

  #else

     程序段2

  #endif

6. #ifndef 宏名

    程序段1

  #else

    程序段2

    #endif

  作用:如果没有定义相应的宏名,编译程序段1,否则编译程序段2

posted @ 2019-03-14 22:31  石头,等待  阅读(535)  评论(0编辑  收藏  举报