如何自动测试二进制兼容性?

15

在编译之前,能否通过比较代码来完成?是否已经有现成的工具可以实现这个功能?

2个回答

13

ABI兼容性检查器 — 一种用于检查C/C++库的向后API/ABI兼容性的工具:

abi-compliance-checker -lib NAME -old OLD.abidump -new NEW.abidump

*.abidump文件是由ABI Dumper工具生成的旧版和新版库版本的ABI转储。

enter image description here

icheck - C接口ABI/API检查器:

icheck --canonify -o old_version -I/usr/include/foo/ bar.h
icheck --compare -o results.txt old_version new_version

shlib-compat - 一款使用DWARF调试信息的ABI兼容性检查工具:

python shlib-compat -vv OLD.so NEW.so

0

我记得Purify有一些功能可以验证构建之间的兼容性,在这里看看


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接