我经常遇到包含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"
在兼容性方面是没有意义的吗?
https://stackoverflow.com/questions/33526457
复制相似问题