Kompilierung von Golang zu WebAssembly (Wasm)
Beim Kompilieren Go-Code zu Wasm mit dem Befehl GOOS=js GOARCH=wasm go build - o main.wasm, bei der Ausführung mit Wasmtime oder Wasm3 können Fehler auftreten.
Fehler und Lösungen
Dieser Fehler weist darauf hin, dass der go::debug-Import nicht definiert ist. Die vom Go-Compiler erstellte Datei main.wasm ist für die Verwendung mit dem Shim wasm_exec.js vorgesehen. Um dies zu beheben, verwenden Sie Node.js mit dem folgenden Befehl:
node wasm_exec.js main.wasm
Dieser Fehler tritt bei Verwendung von Wasm3 auf. Versuchen Sie stattdessen, mit Tinygo zu kompilieren, das WebAssembly System Interface (WASI) unterstützt, und verwenden Sie dazu den folgenden Befehl:
tinygo build -target=wasi -o main.wasm main.go
Go bietet modernste Unterstützung für Wasm außerhalb des Browsers. Um dies zu nutzen, kompilieren Sie Go mithilfe der folgenden Schritte aus dem Quellcode:
go install golang.org/dl/gotip@latest
gotip download
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
Dieser Ansatz ermöglicht es Ihnen, Ihr Programm mit Wasmtime ohne zusätzliche Änderungen auszuführen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3