01 April 2022

C++ 核心指南目录

所谓 ABI 就是 Application Binary Interface 的缩写。编程语言的 ABI 决定了底层实现的细节。编译出来的模块遵循相同的 ABI,就可以互相链接,一起工作。不同的 C++ 编译器的 ABI 会略有差异,因此为了确保不同编译器编译出来的代码能一起工作,最好相对精简且稳定的使用 C 风格子集。

理由:

对于类、异常处理过程、函数名以及其他实现细节,不同的编译器实现了不同的二进制布局。

例外:

某些平台上,通用的 API 已经融合,减少了一些严苛的限制。

注意:

如果只使用单一编译器,可以完全用 C++ 接口。更换或升级编译器的话,可能需要重新编译。