#define #undef #ifdef #ifndef #if用法

他们都是在预处理的时候发挥作用。

1,#define宏定义

2,#udef 标识符  : 取消以前定义的宏定义 ; 如果以前没定义,则忽略它。

3,条件编译命令:

    #ifdef标识符

    程序段1

   #else

   程序段2

   #denif

 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。

 有时我们也会采纳以下条件编译命令:

    #ifndef标识符

    程序段1

   #else

   程序段2

   #denif

  还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符:
  #if 表达式
  程序段1
  #else
  程序段2
  #endif 

注:程序段可以是语句组,也可以是命令行。

另,有时会遇到#define DEBUG ,定义了宏DEBUG,却没有扩展符号;这是一个技巧用法,通常涌来调试程序,和#ifdef和起来使用。当程序还处在调试阶段时,可以

#define DEBUG

#ifdef DEBUG

一些输出语句,可以涌来做调试

#endif

如果,调试通过,要生成releae时,可以#udef DEBUG  ,或者删掉#define DEDBUG ; 然后还可以在#ifdef后面加上#else(也可以不加,视程序而定)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值