【发布时间】:2021-08-30 20:14:22
【问题描述】:
我想创建一个.wasm 文件,该文件在编译时仍然具有导出的函数名称。
package main
import (
"fmt"
)
func main() {
fmt.Println("Main")
}
func MyFunc() {
fmt.Println("MyFunc")
}
我正在构建
GOOS=js GOARCH=wasm go build -o main.wasm
它生成了 wasm 文件(Go 原生地以 wasm 为目标)。
但是使用wabt 并进行对象转储会暴露这些功能。
Export[4]:
- func[958] <wasm_export_run> -> "run"
- func[959] <wasm_export_resume> -> "resume"
- func[961] <wasm_export_getsp> -> "getsp"
- memory[0] -> "mem"
我期待看到类似的东西
func[137] <MyFunc> -> "MyFunc"
有人知道如何在 Go WASM 中导出函数吗?
在 rust 中,包括 #[no_mangle] 和 pub extern "C" 使用 wasm-pack 保持输出中可用的功能。我正在寻找与 Go 类似的东西。
【问题讨论】:
标签: go webassembly