条件编译

条件编译:源程序被编译时,其中一部分内容只在某个条件成立或不成立时才去编译,即对一部分内容指点编译的条件。

范式一

    #ifndef 标识符

        程序段 1

    #endif

含义:如果没有定义标识符,就编译程序段1

示例:

         #ifndef _getkey_h

               #define _getkey_h

               #include<sys/types.h>

        #endif

含义:   如果没有定义符号变量_getkey_h,就定义改变量并包含头文件<sys/types.h>。

范式二

       #ifndef 标识符

           程序段 1

       #else

           程序段 2

       #endif

 含义:如果没有定义标识符,就编译程序段 1,否则编译程序段2.

范式三

      #ifdef 标识符

        程序段1

      #endif

 含义:如果定义了标识符,就编译程序段 1,否则不编译改程序段

例:

       #ifdef DEBUG

         printf("hello");

      #endif

编译时,在头文件中加入 #define DEBUG

范式四

      #ifdef 标识符

          程序段 1

       #else

          程序段 2

       #endif

 含义:如果定义了标识符,就编译程序段 1,否则编译程序段 2。

范式五

    #include<stdio.h>

    #define MAX(x,y) (x>y?x:y)

       ......

       int a=5,b=3,c;

      ........

     if c

        c=MAX(a,b);

     #endif

含义:如果变量c存在,就调用宏MAX(a,b)获得最大值,并把该值赋给c。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值