有没有可能在使用Cranelift编译某些东西时发出ASM?我指的是汇编语言文本表示法,例如Intel-SynTax或类似的语言

现在我打算自己用一个dissasembler库来实现它,比如CapstoneIced,但后来我发现Context::set_disasm(bool)显然就是我所需要的.问题是我找不到从哪里提取这段汇编代码.在我看来,没有像get_disasm这样的函数.

如果相关,我正在构建一个JIT和一个AOT编译器,并且我希望dissasembler在使用这两个编译器时都能工作.

有谁能帮帮我吗?

推荐答案

找回CompiledCode个中的the disasm field个.它在CompiledCodeBase,所以不幸的是没有记录.

Rust相关问答推荐

将JSON密钥转换为Polars DataFrame

异步FN中的 rust 递归

制作一片连续整数的惯用Rust 方法?

防止cargo test 中的竞争条件

类型批注需要静态生存期

关于 map 闭合求和的问题

循环访问枚举中的不同集合

如何在嵌套的泛型 struct 中调用泛型方法?

&'a T 是否意味着 T: 'a?

为什么实现特征的对象期望比具体对象有更长的生命周期?

当我try 使用 SKI 演算中的S I I实现递归时,为什么 Rust 会失败?

Rust 中的复合 `HashSet` 操作或如何在 Rust 中获得 `HashSet` 的显式差异/并集

try 从标准输入获取用户名和密码并删除 \r\n

在描述棋盘时如何最好地使用特征与枚举

我如何取消转义,在 Rust 中多次转义的字符串?

使用自定义 struct 收集 Vec

为什么数组不像向量那样在 for 块之后移动?

Rust,我如何正确释放堆分配的内存?

Cargo:如何将整个目录或文件包含在功能标志中?

有没有比多个 push_str() 调用更好的方法将字符串链接在一起?