Golang에서 WASM으로의 컴파일 오류 및 해결 방법
GOOS=js GOARCH=wasm go build 명령을 사용하여 Go 코드를 WebAssembly(WASM)로 컴파일 -o main.wasm은 wasmtime 및 wasm3으로 실행할 때 오류가 발생할 수 있습니다.
wasmtime 오류:
Error: failed to run main module `main.wasm` Caused by: 0: failed to instantiate "main.wasm" 1: unknown import: `go::debug` has not been defined
wasm3 오류:
Error: function lookup failed ('_start')
오류 의미:
오류 수정:
다음 해결 방법으로 이러한 오류를 해결할 수 있습니다.
wasm_exec.js와 함께 Node.js를 사용하세요.
다음 명령을 실행하세요.
node wasm_exec.js main.wasm
Tinygo로 컴파일(WASI 지원):
다음 명령을 사용하세요.
tinygo build -target=wasi -o main.wasm main.go
wasmtime으로 실행할 수 있는 WASM 모듈이 생성됩니다.
Go에서 실험적인 WASM 지원 활성화:
다음 명령을 사용하여 소스에서 Go를 컴파일합니다.
go install golang.org/dl/gotip@latest gotip download
그런 다음 다음 명령을 사용하여 WASM으로 컴파일합니다.
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
이를 통해 Go에서 WASM에 대한 실험적 지원이 가능해지며, wasmtime으로 모듈을 직접 실행할 수 있습니다.
위 내용은 Golang-WASM 컴파일 오류의 원인과 해결 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!