官方是否考虑出一套webassembly的虚拟机封装组件?

pub fn getMessage()->String{
  "Hello world from moonbit!这是来自moonbit的字符串。"
}

我就写了这么个函数,并导出。生成了一个wasm文件。在.NET中我用wasmtime调用了这个函数,实际上这个函数返回了一个地址值,然后通过这个地址值读到了这个字符串。这个功能虽然简单,但拿到这个返回值的过程却相当复杂。如果这个函数接收一个字符串为参数又该怎么做?目前moonbit或者说wasm所支持的数据导出类型相当有限,最基本的string类型都不支持。
如果我用moonbit写了一个组件,似乎还没办法在其他语言中方便的使用,所以官方是否考虑出一套webassembly的虚拟机封装组件,打通moonbit和其他语言之间的通道。

我们正在考虑封装这样的 wasm runtime。对于 string 互操作困难的问题,可以考虑开启 wasm gc 的 js builtin string flag,见 MoonBit 中使用 Js string builtin 提案的介绍 | MoonBit

感谢支持。
但你所提的 js builtin string ,能让JS宿主环境下方便的使用字符串,但其他语言环境并不能。
而且我在使用wastime的时候,wasm-gc的wasm文件,并不能正确的被执行,在加载的时候就有异常了,只有wasm的编译目标才能正常执行。

可以参考这个:MoonBit - The WebAssembly Component Model