您身边的软件定制专家--9年开发经验为您护航

18678812288
0531-88887250

C语言条件编译

文章作者:济南软件开发 时间:2016年11月08日

  C语言中的预编译包含三种:1.宏定义2.文件包含3.条件编译,条件编译指的是满足一定条件下才进行编译,它有几种形式:

  (1)#ifdef标识符

  //程序

  #else

  //程序

  #endif

  它的意义为如果定义了标识符,则执行程序段1,否则执行程序段2

  或者用以下的形式

  # ifdef 标识符

  //程序

  #endif

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  # include <stdio.h>

  # include <stdlib.h>

  int main()

  {

  #ifdef DEBUG

  printf("debug is running\n");

  #else

  printf("debug is not running\n");

  #endif

  system("pause");

  return 0;

  }

  </stdlib.h></stdio.h>

  (2)

  #ifndef 标识符

  //程序1

  #else

  //程序2

  #endif

  它的含义是如果标识符没有被定义,则执行程序段1,否则执行程序段2

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  # include <stdio.h>

  # include <stdlib.h>

  int main()

  {

  #ifndef DEBUG

  printf("debug is not running\n");

  #else

  printf("debug is  running\n");

  #endif

  system("pause");

  return 0;

  }

  </stdlib.h></stdio.h>

  (3)#if表达式

  //程序1

  #else

  //程序2

  #endif

  它的意义为表达式的值为真时,就编译程序段1,表达式的值为假时,就编译程序段2

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  # include <stdio.h>

  # include <stdlib.h>

  # define HEX 1

  int main()

  {

  int i=10;

  #if HEX==1

  printf("%x\n",i);

  #else

  printf("%d\n",i);

  #endif

  system("pause");

  return 0;

  }</stdlib.h></stdio.h>


想要了解更多详情欢迎来电咨询18678812288
登陆网址:www.jnydkj.cn。
联系人:王经理。