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

时间:2014-07-07 05:39:36

标签: binaryfiles rust typeinfo

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

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

无论如何,我正在为emacs编写一个编辑器实用程序,我希望在某些时候会提供与上下文相关的信息,例如可用的方法,模块项目及其类型等。我真的很感激任何有任何提示。< / p>

1 个答案:

答案 0 :(得分:1)

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

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