ABI 稳定性:何时中断 ABI

ABI stability: When do I break ABI?

本文关键字:ABI 中断 何时 稳定性      更新时间:2023-10-16

简而言之:在较大的 C/C++ 库中工作时,我什么时候会中断 ABI,这些库有使用者并期望在整个非主要版本中保持稳定性?

不,API 和 ABI 不兼容是有区别的。API 不兼容是指弃用/删除您所说的用户无法再在新库中使用的函数。这将使旧代码无法编译。

另一方面,ABI 不兼容包括不稳定/链接错误,例如,如果库是在 System V 与 ARM 系统上编译的,或者使用 libstdc++ 或 libc++ 编译。这需要为目标系统重新编译整个库。