我们编写代码,经常需要c和c++混合使用,为了使 C 代码和 C++ 代码保持互相兼容的过程调用接口,需要,为了简化,从而定义了两个宏方面我们使用
1.在 C++ 代码里加上 extern “C” 作为符号声明的一部分。
2.
__BEGIN_DECLS
和 __END_DECLS
在C语言代码中头文件中,充斥着下面的代码片段:
- __BEGIN_DECLS
- .....
- .....
- __END_DECLS
- #if defined(__cplusplus)
- #define __BEGIN_DECLS extern "C" {
- #define __END_DECLS }
- #else
- #define __BEGIN_DECLS
- #define __END_DECLS
- #endif
——BEGIN_DECLS
..........
__END_DECLS
扩充编译是,这段部分按照BEGIN end 之间的进行编译、、
扩充C语言在编译的时候按照C++编译器进行统一处理,使得C++代码能够调用C编译生成的中间代码。
由于c语言的头文件可能被不同类型的编译器读取,因此写C语言的头文件必须慎重。