【问题标题】:How to test binary compatibility automatically? [duplicate]如何自动测试二进制兼容性? [复制]
【发布时间】:2010-12-30 12:41:57
【问题描述】:

可以在编译前通过比较代码来完成吗?是否有任何工具已经这样做了?

【问题讨论】:

    标签: c++ automated-tests static-analysis backwards-compatibility binary-compatibility


    【解决方案1】:

    ABI Compliance Checker — 检查 C/C++ 库的向后 API/ABI 兼容性的工具:

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

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

    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
    

    【讨论】:

      【解决方案2】:

      我记得 Purify 有一些功能可以验证构建之间的兼容性,take a look here

      【讨论】:

        猜你喜欢
        • 2015-10-11
        • 1970-01-01
        • 2020-05-12
        • 2011-08-03
        • 1970-01-01
        • 2011-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多