C方法是否有可能无法包含在C++项目中?

Mom*_*gil 1 c c++ extern-c

我知道我可以使用这个extern "C"东西在C++项目中包含C方法.但现在让我们假设我正在考虑创建一个C++项目,该项目将使用来自我所创建的两个库以及其他人/公司制作的库的很多C方法,这些库的开发细节和编译规范我是根本不知道.

是否有可能这些C库的方法,包含未知的编译和配置细节,无法包含在我的C++项目中extern "C"?或者,所有C方法是否必须与C++代码100%兼容extern "C"

Ben*_*igt 5

C导出的某些函数可能使用与C++关键字冲突的名称.你将无法宣布那些使用extern "C".

汇编程序导出的函数甚至可以使用与C关键字冲突的名称.

那些声明为static的函数和函数仍然可以通过函数指针调用,只要该库为您提供了获取函数的方法.

由于相同的原因,标题可能无法在C++模式下进行解析 - 例如restrict关键字.

除了命名问题,C++完全支持C调用约定.这extern "C"就是全部.