WebAssembly への Golang のコンパイル (Wasm)
コマンド GOOS=js GOARCH=wasm go build を使用して Go コードを Wasm にコンパイルする場合 - o main.wasm、Wasmtime または Wasm3 の実行中にエラーが発生する可能性があります。
エラーと解決策
このエラーは、go::debug インポートが定義されていないことを示します。 Go コンパイラーによって生成される main.wasm ファイルは、wasm_exec.js shim で使用することを目的としています。これを修正するには、次のコマンドで Node.js を使用します:
node wasm_exec.js main.wasm
このエラーはWasm3を使用しているときに発生します。代わりに、WebAssembly System Interface (WASI) をサポートする Tinygo で次のコマンドを使用してコンパイルしてみてください:
tinygo build -target=wasi -o main.wasm main.go
Go は、ブラウザ外での Wasm の最先端のサポートを備えています。これを利用するには、次の手順を使用してソースから Go をコンパイルします:
go install golang.org/dl/gotip@latest
gotip download
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
このアプローチこれにより、追加の変更を加えずに Wasmtime を使用してプログラムを実行できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3