我一直在寻找 ABI 交叉检查工具。现在我遇到了其他问题中建议的一些工具,例如这些问题:
现在,这并不是我想要做的——因为这些跟踪 ABI 版本之间的变化。
我想知道给定的项目源文件 + 库头文件和库 .so 文件,以及编译器版本(用于编译库和项目),是否可以交叉检查 ABI 的输出匹配编译的库?
因此,它适用的情况是上游库是否提供了 libfoo.so 和 libfood.so。食物的 ABI 略有不同(比如双精度数而不是浮点数),但到目前为止它不会编译。
- 是否有可能提出一个测试(可能不是防弹的),说明编译的可执行文件已链接到正确的库?
- 有没有工具可以做到这一点?