作者回复: 其实就如同 WAT 的字面意思,这种格式就是为了能够以更加方便的形式来阅读 Wasm 字节码的内容。因为并不是所有的 Wasm 字节码都有其对应的源代码。对于一些特殊情况,我们可以直接人工编写 WAT 代码然后编译的字节码使用。
作者回复: 这个主要是由于对“S-表达式”这种代码表达方式的选择。而为什么选择“S-表达式”则是由于几个因素的考虑:1、尽量不自行创建新的格式,而是直接利用已有的成熟的格式;2、这种格式可以“转换”为方便人们阅读的形式;3、这种格式可以表达 Wasm 模块的内部结构,与字节码一一对应。综上,核心团队选择了“S-表达式”。而对于编译器和工具来说,这种“S-表达式”可以被现有的很对代码实现直接解析和使用,不用重新造轮子,减轻了 Wasm 早期发展时的难度和负担。而同时“S-表达式”也可以被转换为对应的“Linear Representation”的形式,也就是“Flat-WAT”的格式。所以因果关系是先有的“S-表达式”形式的 WAT,才有的对应的 Flat-WAT。
作者回复: 可以的,具体可以参考这篇文章:https://developers.google.com/web/updates/2019/12/webassembly。我在后面实践篇的文章中也会介绍哈。
作者回复: 抱歉,Manifest V3 这块我不太了解,可以在 StackOverflow 上问问看呢?
作者回复: 是用什么编译的呢?
作者回复: 你是说 WasmFiddle 吗?这个工具在输好左侧的代码后,点击上面的 Build 然后再点击 Run 就可以了。我刚刚试了一下是 ok 的,可以看下是不是有网络问题哈。
作者回复: 很高兴能够对你有帮助!