首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有理由在没有方法的头上使用外部"C“?

有没有理由在没有方法的头上使用外部"C“?
EN

Stack Overflow用户
提问于 2015-11-05 00:02:56
回答 1查看 974关注 0票数 18

我经常遇到包含extern "C"保护的C头文件,

但是不包含任何实际的函数。例如:

/* b_ptrdiff.h - base type ptrdiff_t definition header */

#ifndef __INCb_ptrdiff_th
#define __INCb_ptrdiff_th

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _PTRDIFF_T
#define _PTRDIFF_T
typedef long ptrdiff_t;
#endif /* _PTRDIFF_T */

#ifdef __cplusplus
}
#endif

#endif /* __INCb_ptrdiff_th */

我知道extern "C"可以防止函数的名称损坏,但它是否也可以防止变量和类型声明的其他接口问题?

在上面的例子中使用extern "C"在兼容性方面是没有意义的吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-05 00:08:50

不,这里不需要extern C,但是在所有的头中都有它可能更方便,以确保在添加新函数时不会忘记它。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33526457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档