1、FFI的文档中写的
extern "wasm" fn abs(d : Double) -> Double =
#|(func (param f64) (result f64))
这种格式,文档没描述清楚,不知道到底是用来干啥的,也没有明确,是wasm文本格式吗?
2、和js交互的话,js的对象属性以及方法访问目前只能用ffi导入的模式整嘛?
1、FFI的文档中写的
extern "wasm" fn abs(d : Double) -> Double =
#|(func (param f64) (result f64))
这种格式,文档没描述清楚,不知道到底是用来干啥的,也没有明确,是wasm文本格式吗?
2、和js交互的话,js的对象属性以及方法访问目前只能用ffi导入的模式整嘛?
群里问过一些, 知道个大概. 细节等补充.
(func (param f64) (result f64))
这一段是类型签名, WAT 的代码, 也就是生成 WASM 的时候的类型签名. 具体函数的实现不在这里, 或者说对应的从 js import 过去的函数的类型签名.
WASM 执行环境是个沙箱, 外部的调用都需要 FFI. 即便后续官方提供一些模块用来访问文件系统或者网络, 内部也要用 FFI. 具体 WASM 的各类数据的情况怎么写我也纳闷. 不过我现在图简单先用 js 后端了 --target js
, 够用.
谢谢了,我看了一个别人写的库,里面有不少这种写法,目前感觉这个就是wat指令格式的函数体实现