我正在尝试使用 WebAssembly 运行一个用 Rust 编写的 hello world 程序,但是当我尝试加载该程序时收到一条错误消息。
按照我发现的一些教程,我能够让它运行,问题是他们使用 Emscripten 创建 JavaScript 和 HTML 来加载代码,但是这个 JavaScript 和 HTML 包含大量的样板文件和其他东西。我有点迷路了,而是想尝试获得一个非常简单的例子,我正在加载自己。
我运行以下命令来编译 hello.wasm
echo 'fn main() { println!("Hello, Emscripten!"); }' > hello.rs
rustc --target=wasm32-unknown-emscripten hello.rs
Run Code Online (Sandbox Code Playgroud)
为了加载 hello.wasm,我从 Mozilla WebAssembly 文档中获取示例并尝试运行它。
var importObject = {
imports: {
imported_func: function(arg) {
console.log(arg);
}
}
};
fetch('hello.wasm').then(response =>
response.arrayBuffer()
).then(bytes =>
WebAssembly.instantiate(bytes, importObject)
).then(results => {
// Do something with the compiled results!
});
Run Code Online (Sandbox Code Playgroud)
WebAssembly.instantiate 崩溃:
var importObject = {
imports: {
imported_func: function(arg) { …Run Code Online (Sandbox Code Playgroud)