简言C语言使用技巧之条件编译

 第一种:

#define test_no1
#ifdef test_no1
printf("test_no1被定义的话,就打出这行字");
#else
printf("else 可以省略");
#endif

上面这种的用法是,如果标识符被定义了,那么就编译第一段,否则就编译第二段。

第二种: 

#ifndef test_no2
printf("如果没有定义上面的标识符,打出这行字");
#else
printf("else可以省略");
#endif

上面这种用法就是翻过来的,如果标识符没有被定义就编译第一句,否者就编译第二句。

第三种:

#if test_no3
printf("~~~~~~~~~");
#else
printf("~~~~~~~~~");
#endif

上面这种用法的意思就是如果test_no3为真,就编译第一句,否者编译第二段。

第四种:

#ifdef 和 #if defined 的区别

#if defined (test_no4) && defined (test_no5)
printf("~~~~~~~~~~~~~~~~")
#endif

#if defined (test_no6) || test_no7> 12
printf("~~~~~~~~~~~~~~~~")
#endif

第四种可以组成复杂的预编译条件,从而实现功能的扩展

问这么做有什么好处吗?

答:当然,在大型代码开发的时候可以利用这一功能控制代码是否被编译来控制项目的功能以及代码的大小。或者在调试的时候可以屏蔽某处代码,来排查问题,而不至于翻过去整段注释掉(这样做真的很low)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值