我正在寻找一种加载和检查rustc生成的.rlib二进制文件的方法。我在标准库中四处寻觅,没有多大运气。我的假设是.rlib包含“类型化”它的静态类型检查程序所必需的所有类型信息。 rustc::metadata是我的狩猎结束的地方。我不能完全弄清楚编译器此刻可用的结构是否打算用作用户的入口点,或者它们是否只是中间抽象,取决于先前初始化的数据链。

另外,如果有一种方法可以将.rlib以可解析的形式转储到stdout,那也很棒。我尝试了/usr/bin/nm,但是它似乎不包含函数类型签名。也许我想念一些东西。

无论如何,我正在开发emacs的编辑器实用程序,希望在某个时候可以提供上下文相关的信息,例如可用的方法,模块项及其类型等。我非常感谢任何人提供的任何提示。

最佳答案

.rlib文件是ar存档文件。您可以使用readelf读取其内容。

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

关于binaryfiles - 用于检查.rlib二进制文件的Rust库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24603672/

10-10 18:34
查看更多