重用从 Rustc 生成的 LLVM 位码

问题描述

我想在另一个 Rust 项目中重用从 rustc 生成的 LLVM 位码,两者都针对 wasm32-wasi。我将描述事实:

  • 我有一个可以生成验证码的库 (A)。当我将该库直接编译为 wasm32-wasi 时,它编译没有问题,甚至可以使用 wasmer 或 wasmtime 执行。
  • 我有一个 Rust 应用(姑且称之为 Harness),它使用验证码生成功能作为外部依赖项。
  • 我保存了 A 的中间 llvm 位码,我对其进行了一些分析,我想在 Harness 中再次将其作为外部函数重用。
  • 当我尝试使用 RUSTFLAGS="-C link-arg=A.bc" 从 A 链接保存的 llvm 时,它会将 Harness 应用程序生成为 Wasm 包,但似乎存在重整问题。 A 使用的一些函数现在作为导入注入。
  • Harness 应用程序与 A 具有相同的依赖项,因此,理论上这些函数也可以注入,并且不需要导入 A 在 Wasm 模块中使用的一些函数

知道如何摆脱重整吗?或者,有一种真正的方法可以获取中间 llvm 位码并在另一个应用程序中再次链接它们。

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...