ABI兼容性标头/库交叉检查 [英] ABI compatibility header/library cross check

查看:113
本文介绍了ABI兼容性标头/库交叉检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找ABI交叉检查工具.现在,我已经满足了其他问题中建议的一些工具,例如以下问题:

I have been looking around for an ABI cross-check tool. Now I have met some of the tools suggested in other questions, such as in these questions:

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

用于检测C ++中ABI中断的静态分析工具

现在,这并不是我要尝试做的-因为这些跟踪版本之间的ABI更改.

Now, this is not exactly what I am trying to do - as these track ABI changes between versions.

我想知道给定的项目源文件+库头文件和库.so文件以及编译器版本(用于编译库和项目)是否可以交叉检查输出的ABI匹配已编译的库?

I was wondering that given project source files + library header file and library .so file, as well as a compiler version (which is used for compiling both the library and the project), is it possible to cross check that the output of the ABI matches the compiled library?

因此,适用的情况是上游库附带了libfoo.so和libfood.so.如果食物的ABI稍有不同(例如,加倍而不是浮动),但到目前为止还不能编译.

So, the situation that it would apply to, is if an upstream library shipped libfoo.so and libfood.so. Where food is a slightly different ABI, (say doubles instead of float), but not so far that it wont compile.

  • 是否有可能提出一个测试(可能不是防弹测试),说明已编译的可执行文件已链接到正确的库?
  • 有没有可以做到这一点的工具?

推荐答案

似乎 ABI符合性检查器还支持检查应用程序是否暴露于两个库之间的任何更改.

It seems that the ABI compliance checker also supports checking an application for its exposure to any changes between two libraries.

这篇关于ABI兼容性标头/库交叉检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆