C语言中 #ifdef cplusplus #define -EXTERN-C extern"c" #else #def

问题描述:

C语言中 #ifdef cplusplus #define _EXTERN_C extern"c" #else #define _EXTERN_C #endif 是什么意思?谢
#ifdef __cplusplus
#define __EXTERN_C extern "C"
#else
#define __EXTERN_C
#endif
__EXTERN_C extern void main(void);
1个回答 分类:综合 2014-11-18

问题解答:

我来补答
一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的.C中调用C++中的代码这样定义会是安全的.
一般的考虑跨平台使用方法如下:
#ifdefined(__cplusplus)||defined(c_plusplus) //跨平台定义方法
extern "C"{
#endif
//...正常的声明段
#ifdefined(__cplusplus)||defined(c_plusplus)
}
#endif
简单的用在windows下可以如下定义:
#ifdef __cplusplus
extern "C"{
//...正常的声明段
}
#endif
 
 
展开全文阅读
剩余:2000
下一页:细胞的物质输入