oku*_*kun 25 c++ static-analysis shared-libraries backwards-compatibility
破坏DSO /共享库与C++接口的二进制向后兼容性并不是很难.也就是说,是否存在静态分析工具,如果给出两组不同的头文件,可以帮助检测此类ABI中断:DSO的早期状态和当前状态(也可能是DSO)?欢迎免费和商业产品建议.
如果它还可以警告不良做法,例如DSO接口中的内联函数和默认函数参数,那就太棒了.
lin*_*ild 20
abi-compliance-checker - 用于检查共享C/C++库(DSO)的后向二进制/源级兼容性的工具:
用于检查C/C++库的后向二进制和源级兼容性的工具.工具检查头文件和新版本和旧版本的共享库,并分析在API和可能破坏二进制和/或源兼容性ABI(ABI = API +编译ABI)的变化:在调用堆栈,v表的变化,消除的码元的变化,重命名的字段等
icheck - C接口ABI/API检查器:
用于静态检查API接口以进行API和ABI更改的工具.应检测可能导致ABI更改的类型声明的所有更改以及大多数API更改.icheck旨在与库一起使用,作为防止ABI漂移的方法.
shlib-compat - 带符号版本控制的共享库的ABI兼容性检查器:
shlib-compat使用dwarf调试符号来重新创建和比较导出符号的定义,包括函数参数和结构类型.
您也可能对linux上游跟踪器和linux abi跟踪器服务感兴趣.它们都由abi-compliance-checker工具提供支持.
Art*_*yom 14
我假设您熟悉本教程:C++的二进制兼容性问题,如果没有阅读它!
我听说过这个工具:http: //ispras.linuxbase.org/index.php/ABI_compliance_checker,但从未测试或使用过,所以没有意见.
您也可能会对此感兴趣:使用向后兼容的ABI创建库,该ABI使用Boost