3个不稳定版本
0.4.1 | 2024年7月12日 |
---|---|
0.4.0 | 2024年7月12日 |
0.0.0 | 2022年9月26日 |
#243 in 开发工具
每月 57 次下载
385KB
8K SLoC
ABI咖啡馆 🧩☕️❤️
不确定您的编译器是否具有匹配的ABI?那么就通过终极兼容性熔炉将它们配对,在ABI咖啡馆轮班!看看您的真正配对是否相互匹配,或者只是另一个慢燃灾难。(女仆装可选但推荐。)
快速入门
要运行ABI咖啡馆,只需检出仓库并执行cargo run
!
这是什么
ABI咖啡馆自动化测试两种语言/编译器是否就它们的ABI达成一致。
ABI咖啡馆本质上是一个ABI模糊器,它
如果它们一致,那就太好了!
如果不一致,那就更好了,我们刚刚学到了一些东西! 然后我们尝试诊断它们不一致的原因,并生成一个可以由人类检查和报告的简化版本!
现在就进行无数次的测试,突然我们学到了很多东西!或者,您可以手动创建任何您感兴趣的类型或函数签名,并探索其在不同工具链之间的互操作性。
ABI咖啡馆完全是 描述性的。它没有先入为主的观念,即什么 应该 工作,它不相信任何人关于它的任何说法。我们不分析汇编或元数据,并且我们乐于创建充满未定义行为的程序。我们在这里是为了 学习 而不是 说教。
这种设计基于一个基本信念,即 ABI只存在于意志的力量之中。规范通常是“阅读GCC的源代码”,这确实是一个容易出错的进程。此外,GCC甚至不知道你的存在,你只有检查并维护你的工作,才能与他们进行互操作。所以这里有一个工具来检查和维持你的工作!
选择您的冒险
依赖项
~16–29MB
~429K SLoC