Я пытаюсь создать действительный файл wasm, который будет правильно понимать WebBrowser (Firefox), но я не уверен, что здесь ошибаюсь
Вот Main.ll
файл
define i32 @main() {
ret i32 42
}
Тогда я использую llc (Linux):
./llc -mtriple = wasm32-неизвестно-неизвестно -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 (результаты));
{"module":{},"instance":{}}
Версии:
./llc --version
LLVM (http://llvm.org/):
LLVM version 10.0.0
./wasm-ld --version
LLD 10.0.0