首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 免费提供C,C++的基础资料,支持免费!

免费提供C,C++的基础资料,支持免费!

资料介绍
C++中extern C含义深层探索
C++中extern "C"含义深层探索
作者:宋宝华 e-mail:21cnbao@21cn.com 出处:太平洋电脑网
1.引言
C++语言的创建初衷是“a better
C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语
言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人
称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,
C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理
方式与C有明显的不同。
2.从标准头文件说起
某企业曾经给出如下的一道面试题:
面试题
为什么标准头文件都有类似以下的结构?
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
分析
显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define
__INCvxWorksh、#endif” 的作用是防止该头文件被重复引用。
那么
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
的作用又是什么呢?我们将在下文一一道来。
3.深层揭密extern "C"
extern "C"
包含双重含义
标签:extern含义深层探索
免费提供C,C++的基础资料,支持免费!
本地下载

评论