2

我想了解用于教育目的的 WebAssembly 文本格式以及编写直接编译为 WASM 的 POC 编译器。

我想了解如何正确导入必要的 WASI 函数来创建控制台日志函数。

我很想看到一个用有点可读的 WAT 模块编写的示例,该模块导入 WASI 并实现一个可以在浏览器外部运行的简单控制台 log/printf/echo 函数。

例如,

(module
  (func $wasi_snapshot_preview1.fd_close (;0;) (import "wasi_snapshot_preview1" "fd_close") (param i32) (result i32))
  (func $wasi_snapshot_preview1.fd_seek (;1;) (import "wasi_snapshot_preview1" "fd_seek") (param i32 i64 i32 i32) (result i32))
  (func $wasi_snapshot_preview1.fd_write (;2;) (import "wasi_snapshot_preview1" "fd_write") (param i32 i32 i32 i32) (result i32))
  (func $wasi_snapshot_preview1.proc_exit (;3;) (import "wasi_snapshot_preview1" "proc_exit") (param i32))
  (data (; ... ;) )
  (memory (; ... ;) )
  (func $log (; ... ;))
)
4

0 回答 0