主要观点:介绍了一个用安全 Rust 编写的小型 WebAssembly 运行时 TinyWasm,包括其特点、现状、安全性、支持的提案、用法、特性标志、灵感来源和许可证等方面。
关键信息:
- 设计小巧(<4000 LLOC)、可移植(能在 Rust 可支持的任何平台运行,包括
no_std
且外部依赖少)、安全(无 unsafe 代码)。 - 通过 WebAssembly MVP 测试,支持多数 WebAssembly 程序,除 SIMD 和 Memory64 提案外。
- 安全性方面在内存安全方面设计良好,但目前无防止无限循环或过度内存使用的保护。
- 列出了各种支持的提案及其状态和对应的 TinyWasm 版本。
- 提供了示例目录和文档用于使用说明,还有
tinywasm-cli
工具用于测试。 - 有
std
、logging
、parser
、archive
等特性标志,可在no_std
环境中使用。 - 受 wasmi、wasm3、wazero、wain 等项目启发。
- 依据 Apache License Version 2.0 或 MIT 许可证授权。
重要细节: tinywasm.png
链接指向 GitHub 仓库,文档链接为https://docs.rs/tinywasm
,Crates.io 链接为https://crates.io/crates/tinywasm
,许可证链接为https://github.com/explodingcamera/tinywasm/blob/next/LICENSE-APACHE
。- 不同提案的支持情况详细列出,如 Mutable Globals 等提案已完全支持,Tail Call 等提案在
next
版本支持等。 - 特性标志的作用和默认启用情况说明清楚,如
std
默认启用用于从文件和流解析等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。