所谓ABI就是ApplicationBinaryInterface的缩写。编程语言的ABI决定了底层实现的细节。编译出来的模块遵循相同的ABI,就可以互相链接,一起工作。不同的C++编译器的ABI会略有差异,因此为了确保不同编译器编译出来的代码能一起工作,最好相对精简且稳定的使用C风格子集。
理由:
对于类、异常处理过程、函数名以及其他实现细节,不同的编译器实现了不同的二进制布局。
例外:
某些平台上,通用的API已经融合,减少了一些严苛的限制。
注意:
如果只使用单一编译器,可以完全用C++接口。更换或升级编译器的话,可能需要重新编译。
C++核心指南是由C++创始人BjarneStroustrup和ISO/ANSIC++标准委员会秘书HerbSutter领导开发的关于如何正确高效使用C++的在线文档。就像C++语言本身一样,这些指南是许多组织中许多人多年讨论和设计的结果。
C++核心指南是由C++创始人BjarneStroustrup和ISO/ANSIC++标准委员会秘书HerbSutter领导开发的关于如何正确高效使用C++的在线文档。就像C++语言本身一样,这些指南是许多组织中许多人多年讨论和设计的结果。
kimim