【发布时间】:2012-01-09 20:45:06
【问题描述】:
我一直在寻找 ABI 交叉检查工具。现在我遇到了其他问题中建议的一些工具,例如这些问题:
How to test binary compatibility automatically?
Static analysis tool to detect ABI breaks in C++
现在,这并不是我想要做的——因为这些跟踪 ABI 版本之间的变化。
我想知道给定项目源文件 + 库头文件和库 .so 文件,以及编译器版本(用于编译库和项目),是否可以交叉检查输出的 ABI 是否与编译后的库匹配?
因此,它适用的情况是上游库提供了 libfoo.so 和 libfood.so。食物的 ABI 略有不同(比如双精度数而不是浮点数),但到目前为止它不会编译。
- 是否可以提出一个测试(可能不是防弹的),表明已编译的可执行文件已链接到正确的库?
- 是否有工具可以做到这一点?
【问题讨论】:
标签: c++ c linux binary-compatibility