c和c++混合使用

我们编写代码,经常需要c和c++混合使用,为了使 C 代码和 C++ 代码保持互相兼容的过程调用接口,需要,为了简化,从而定义了两个宏方面我们使用

1.在 C++ 代码里加上 extern “C” 作为符号声明的一部分。
2. __BEGIN_DECLS  和 __END_DECLS 
在C语言代码中头文件中,充斥着下面的代码片段:

  1. __BEGIN_DECLS
  2. .....
  3. .....
  4. __END_DECLS


  1. #if defined(__cplusplus)
  2.        #define __BEGIN_DECLS extern "C" {
  3.        #define __END_DECLS }
  4.        #else
  5.        #define __BEGIN_DECLS
  6.        #define __END_DECLS
  7. #endif

——BEGIN_DECLS

..........

__END_DECLS

扩充编译是,这段部分按照BEGIN  end 之间的进行编译、、


扩充C语言在编译的时候按照C++编译器进行统一处理,使得C++代码能够调用C编译生成的中间代码。

由于c语言的头文件可能被不同类型的编译器读取,因此写C语言的头文件必须慎重。



猜你喜欢

转载自blog.csdn.net/allen807733144/article/details/73603516