【发布时间】:2020-05-22 17:39:40
【问题描述】:
已修复:我将要导入的函数的 DLL 存储类设置为 dllimport,这允许 wasm-ld 发出正确的导入命名空间。
我正在使用 LLVMSharp* 库构建编译器,它会发出针对 wasm32-unknown-unknown 的 LLVM .bc 模块文件。我正在尝试通过使用{ "wasm-import-module"="wasi_unstable" } 属性标记这些函数值,将函数从WASI 接口导入其中。 (这应该等同于 clang 对 __attribute__((import_module(<module_name>))) 所做的;参见 here)。但是,当我将生成的 .bc 文件传递给 wasm-ld(Windows 64 位 9.0.0 安装版本)时,生成的 .wasm 模块仍会从 "env" 导入这些函数,这不起作用。
是否有一些选项可以传递给 wasm-ld 以使其正确处理 wasm-import-module,还是我需要走另一条路线?
*具体来说,我使用的是 LLVMSharp 5.0.0,它是最新的稳定版本。 LLVMSharp 8.0.0 可能支持构建 .wasm 模块,但没有针对它的发布版 NuGet,并且 beta 版 NuGet 存在一些阻止我升级的问题。这就是我选择 wasm-ld 路线的原因。
【问题讨论】:
-
欢迎堆栈溢出。请考虑添加一些代码,以便我们帮助您调试。
标签: llvm webassembly wasi