我知道我可以使用这个extern "C"东西在C++项目中包含C方法.但现在让我们假设我正在考虑创建一个C++项目,该项目将使用来自我所创建的两个库以及其他人/公司制作的库的很多C方法,这些库的开发细节和编译规范我是根本不知道.
是否有可能这些C库的方法,包含未知的编译和配置细节,无法包含在我的C++项目中extern "C"?或者,所有C方法是否必须与C++代码100%兼容extern "C"?
C导出的某些函数可能使用与C++关键字冲突的名称.你将无法宣布那些使用extern "C".
汇编程序导出的函数甚至可以使用与C关键字冲突的名称.
那些声明为static的函数和函数仍然可以通过函数指针调用,只要该库为您提供了获取函数的方法.
由于相同的原因,标题可能无法在C++模式下进行解析 - 例如restrict关键字.
除了命名问题,C++完全支持C调用约定.这extern "C"就是全部.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |