CompileError:WebAssembly.compile():预期的魔术词

问题描述 投票:0回答:1

我是WebAssembly的新手,正在尝试获取基本示例,但是在Google Chrome浏览器中加载.wasm文件会返回:

[CompileError:WebAssembly.compile():预期的魔术字00 61 73 6d,找到的30 30 36 31 @ + 0

这是C ++代码:

#include <iostream>
using namespace std;

int main() 
{
    cout << "Hello, World!";
    return 0;
}

这是WASM文件:https://drive.google.com/open?id=1nvoxoeZ6TA9OVc4JFHSwGIVxuDHFnIU1

基于documentation,我正在Chrome中执行的代码:

function instantiate(bytes, imports) {
  return WebAssembly.compile(bytes).then(function(m) {
      return new WebAssembly.Instance(m, imports)
  });
}

fetch('simple.wasm').then(function(response) {
    return response.arrayBuffer()
})
.then(function(bytes) {
    var importObject = {
        imports: {
            i: function(arg) {
                console.log(arg)
            }
        }
    };
    return instantiate(bytes, importObject)
})
.then(function(instance) {
    return instance.exports.e()
})
javascript google-chrome webassembly
1个回答
0
投票

问题是您的.wasm文件为十六进制格式,而不是二进制格式。

© www.soinside.com 2019 - 2024. All rights reserved.