本文,记录Linux开发环境下,C和C++实现混合编译,涉及具体做法、原理。
参考文章:
- Mixing C and C++ Code in the Same ProgramMixing C and C++ Code in the Same Program ,链接
- How to mix C and C++,链接
主要区别(针对mix):
- C编译识别函数:函数名;C++编译识别函数:函数名+参数;所以,需要解决C++重载特性。
C++源码访问C代码,关键点:
- 声明链接规范:由C++语言提供,允许嵌套链接规范。extern
- 在C++代码中包含C头文件:头文件需要具有链接规范。extern
- 让header.h同时适应C和C++编译器,进而创建混合语言标题。#ifdef __cplusplus