C++系列之#if、if、#ifdef、#if defined之间的区别

作者:qxl 邮箱: 1183129553@qq.com




前言

来日方长

条件编译

条件编译是属于c语言预处理部分的内容,是编译器编译最开始处理的内容。
如果宏条件符合,则编译,否则编译器就忽略这段代码,不编译此部分。(编译不等同于执行)

#if  A 0
 code...
#endif

#ifndef
 code..
#endif

#ifdef 
 code…
#endif

#ifdef 的使用和 #if defined() 的用法一致
#ifndef 又和 #if !defined() 的用法一致。
决定是否编译

extern解释

通过一段代码简单了解下extern出现的情况:

#ifdef __cplusplus 
extern "C" { 
#endif 

//一段代码 
#ifdef __cplusplus 
} 
#endif 
 

上边代码中,出现的__cplusplus 根据字面意思不难理解,在c++编译(g++)时,如果遇到此部分,使用gcc编译,实现c和c++的兼容。

参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值