【发布时间】:2020-03-15 17:16:42
【问题描述】:
我正在尝试生成 WebBrowser (Firefox) 可以正确理解的有效 wasm 文件,但我不确定我在这里做错了
这是Main.ll 文件
define i32 @main() {
ret i32 42
}
然后我使用的是 llc (Linux):
./llc -mtriple=wasm32-unknown-unknown -O3 -filetype=obj main.ll -o main.o
然后我使用 wasm-ld (Linux):
./wasm-ld main.o -o main.wasm --no-entry -allow-undefined
然后我将main.wasm复制到Windows,然后打开这个本地文件页面:
|-- fille.html
|-- main.wasm
<div id="test">
</div>
<style>
#test
{
border: 3px solid red;
width: 100%;
height: 100%;
}
</style>
<script>
fetch("main.wasm")
.then(response => response.arrayBuffer())
.then(bytes => WebAssembly.instantiate(bytes, {}))
.then(results => {
window.alert(results.instance.exports.main());
});
</script>
但是
TypeError: results.instance.exports.main 不是函数
怎么了?
结果如下:
console.log(JSON.stringify(results));
{"module":{},"instance":{}}
版本:
./llc --version
LLVM (http://llvm.org/):
LLVM version 10.0.0
./wasm-ld --version
LLD 10.0.0
【问题讨论】:
标签: llvm webassembly