extern "c"相关

看下面的一个面试题:为什么标准头文件都有类似的结构

#ifndef __INCvxWorksh 

#define __INCvxWorksh

#ifdef __cplusplus             

extern "C"{

#endif

/*一段代码*/

#ifdef __cplusplus

}

#endif

#endif /*end of __INCvxWorksh*/

分析:

1.蓝色部分:结构 #ifndef ...#define...#endif 是为了防止头文件被重复引用

2.红色部分:

#ifdef __cplusplus:的意思,当前是否为c++编译器,__cplusplus为cpp自己定义的一个宏

extern "C" :表示以下代码按照语言方式进行编译和链接

之所以出现两次 #ifdef __cplusplus,是为了在C编译环境下也可以正常运行,否则的话代码部分就被跳过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值