"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver erros ao compilar Vá para WebAssembly (Wasm)

Como resolver erros ao compilar Vá para WebAssembly (Wasm)

Publicado em 2024-11-08
Navegar:441

How to Resolve Errors When Compiling Go to WebAssembly (Wasm)

Compilação de Golang para WebAssembly (Wasm)

Ao compilar o código Go para Wasm usando o comando GOOS=js GOARCH=wasm go build - o main.wasm, erros podem surgir durante a execução com Wasmtime ou Wasm3.

Erros e Soluções

  • Erro de tempo de espera: importação desconhecida: go::debug

Este erro indica que a importação go::debug não é definido. O arquivo main.wasm produzido pelo compilador Go destina-se ao uso com o shim wasm_exec.js. Para corrigir isso, use Node.js com o seguinte comando:

node wasm_exec.js main.wasm
  • Wasmtime error: function lookup failed ('_start ')

Este erro ocorre ao usar o Wasm3. Em vez disso, tente compilar com Tinygo, que suporta WebAssembly System Interface (WASI), usando o comando:

tinygo build -target=wasi -o main.wasm main.go
  • Opção de ponta

Go tem suporte de ponta para Wasm fora do navegador. Para utilizar isso, compile o Go a partir do código-fonte usando as seguintes etapas:

  1. Instale a versão mais recente do Go a partir do código-fonte usando:
go install golang.org/dl/gotip@latest
gotip download
  1. Crie seu código Go com:
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm

Esta abordagem permitirá que você execute seu programa com Wasmtime sem quaisquer modificações adicionais.

Declaração de lançamento Este artigo foi reimpresso em: 1729671686 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3