用于检查.rlib二进制文件的Rust库

问题描述 投票:5回答:1

我正在寻找一种方法来加载和检查由rustc生成的.rlib二进制文件。 我在没有太多运气的情况下在标准库周围寻找。 我的假设是.rlib包含静态输入“extern crate”检查程序所需的所有类型信息。 rustc :: metadata是我的搜索结束的地方。 我无法弄清楚编译器中此时可用的结构是否是用户的入口点,或者它们是否仅仅是中间抽象,取决于先前初始化的数据链。

或者,如果有一种方法可以将.rlib以可解析的形式转储到stdout,那么这也很棒。 我试过/ usr / bin / nm,但它似乎排除了函数类型签名。 也许我错过了什么。

无论如何,我正在为emacs编写一个编辑器实用程序,我希望在某些时候会提供上下文相关的信息,如可用的方法,模块项和它们的类型等。我真的很感激任何人都有的提示。

binaryfiles rust typeinfo
1个回答
1
投票

.rlib文件是一个ar存档文件。 您可以使用readelf来阅读其内容。

尝试使用readelf -s <your_lib>.rlib 。 类型名称可能由编译器混合/修饰,因此它可能与.rs文件中的名称不完全相同。

© www.soinside.com 2019 - 2024. All rights reserved.