rust - 从 Cranelift 发出 ASM

标签 rust compiler-construction

使用 Cranelift 编译某些内容时是否有可能发出 ASM?我所说的“ASM”是指汇编器文本表示,例如Intel-Syntax 或类似的

现在我计划使用像 Capstone 这样的反汇编器库自己实现这一点或Iced ,但后来我发现Context::set_disasm(bool)这显然正是我所需要的。问题是我无法找到从哪里提取此汇编代码。据我所知,没有像 get_disasm 这样的函数。

如果相关的话,我正在构建 JIT 和 AOT 编译器,并且我希望反汇编器在使用其中任何一个时都能工作。

谁能帮帮我吗?

最佳答案

检索the disasm field CompiledCode 的。它位于 CompiledCodeBase 中,因此不幸的是,它没有记录在案。

关于rust - 从 Cranelift 发出 ASM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75399278/

相关文章:

使用rust :终身问题,需要帮助

c - 编译器和链接器之间有什么区别?

c++ - 您使用了哪些策略来缩短大型项目的构建时间?

c - 为什么动态二进制翻译比静态二进制翻译更实用?

x86 - 这些年来,英特尔为何改变静态分支预测机制?

c - 内置函数的位置 Microchip C30 编译器

operator-overloading - 如何为不同的 RHS 类型和返回值重载运算符?

c++ - 为什么 Rust 在性能上比 Ocaml 快,尽管第一个 Rust 编译器是在 Ocaml 中实现的

rust - 结构使用关联函数重新分配多个字段的简洁方法?

rust - 为什么即使 Result 实现了 IntoFuture,也不能将其视为 Future?