C/C++面试:04---标准头文件的结构

一、标准头文件结构

  • 下面是一个标准头文件的结构:
#ifndef __INCvxWorksh
#define __INCvxWorksh

#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif

#endif /*__INCvxWorksh*/

结构分析

  • 第1、2、12行是为了防止头文件重复引用的
  • 第4行:表示当前使用的是C++编译器。如果表示当前使用的是C编译器,那么代码如下:
#ifdef __STDC__

二、extern “C”的双重含义

  • 首先,被它修饰的目标是“extern”的。也就是告诉编译器,其生命的函数和变量可以在本模块或其他模块中使用。通常,在模块的头文件中对本模块提供给其他模块引用的函数和全局变量以关键字extern声明。例如,当模块B想要引用模块A定义的全局变量和函数时,只需要包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到高函数,但是不会报错;它会在链接阶段从模块A编译生成的目标代码中找到此函数
©️2020 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值