#wasm-edge #virtual-machine #api-bindings #automotive #cloud #run-time #ai

wasmedge-sdk

WasmEdge 运行时是一个高性能、可扩展且硬件优化的 WebAssembly 虚拟机,适用于汽车、云计算、人工智能和区块链应用

22 个版本 (12 个重大更新)

0.14.0 2024年6月3日
0.13.2 2023年11月15日
0.10.1 2023年7月25日
0.7.1 2022年11月25日
0.1.0 2022年5月27日

#49WebAssembly

Download history 227/week @ 2024-05-03 192/week @ 2024-05-10 331/week @ 2024-05-17 148/week @ 2024-05-24 406/week @ 2024-05-31 322/week @ 2024-06-07 389/week @ 2024-06-14 326/week @ 2024-06-21 196/week @ 2024-06-28 159/week @ 2024-07-05 454/week @ 2024-07-12 1138/week @ 2024-07-19 844/week @ 2024-07-26 700/week @ 2024-08-02 615/week @ 2024-08-09 343/week @ 2024-08-16

2,801 每月下载
用于 6 个包

Apache-2.0

715KB
15K SLoC

WasmEdge Rust SDK

WasmEdge Rust SDK 为 WasmEdge 提供了符合 Rust 语言的绑定

注意: 此项目仍在积极开发中,无法保证 API 稳定。

开始使用

此包依赖于 WasmEdge C API。在 Linux/macOS 中,可以通过启用 standalone 功能在构建时下载 API。否则,需要先在系统中安装 API。请参阅 安装和卸载 WasmEdge 以安装 WasmEdge 库。下表显示了 wasmedge-sdk 包的每个版本所需的 WasmEdge 库版本。

wasmedge-sdk WasmEdge 库 wasmedge-sys wasmedge-types wasmedge-macro async-wasi
0.13.5-newapi 0.13.5 0.18.0 0.5.0 0.6.1 0.2.0
0.13.2 0.13.5 0.17.5 0.4.4 0.6.1 0.1.0
0.13.1 0.13.5 0.17.4 0.4.4 0.6.1 0.1.0
0.13.0 0.13.5 0.17.3 0.4.4 0.6.1 0.1.0
0.12.2 0.13.4 0.17.2 0.4.4 0.6.1 0.1.0
0.12.1 0.13.4 0.17.1 0.4.4 0.6.1 0.1.0
0.12.0 0.13.4 0.17.0 0.4.4 0.6.1 0.1.0
0.11.2 0.13.3 0.16.2 0.4.3 0.6.1 0.1.0
0.11.0 0.13.3 0.16.0 0.4.3 0.6.0 0.0.3
0.10.1 0.13.3 0.15.1 0.4.2 0.5.0 0.0.2
0.10.0 0.13.2 0.15.0 0.4.2 0.5.0 0.0.2
0.9.0 0.13.1 0.14.0 0.4.2 0.4.0 0.0.1
0.9.0 0.13.0 0.14.0 0.4.2 0.4.0 0.0.1
0.8.1 0.12.1 0.13.1 0.4.1 0.3.0 -
0.8.0 0.12.0 0.13.0 0.4.1 0.3.0 -
0.7.1 0.11.2 0.12.2 0.3.1 0.3.0 -
0.7.0 0.11.2 0.12 0.3.1 0.3.0 -
0.6.0 0.11.2 0.11 0.3.0 0.2.0 -
0.5.0 0.11.1 0.10 0.3.0 0.1.0 -
0.4.0 0.11.0 0.9 0.2.1 - -
0.3.0 0.10.1 0.8 0.2 - -
0.1.0 0.10.0 0.7 0.1 - -

WasmEdge Rust SDK 将会自动在您的系统中搜索 WasmEdge 库。或者,您可以将环境变量 WASMEDGE_DIR 设置为 WasmEdge 库的路径(或使用 WASMEDGE_INCLUDE_DIRWASMEDGE_LIB_DIR 变量进行更精细的控制)。如果您想使用本地的 cmake 构建版本的 WasmEdge,则可以设置 WASMEDGE_BUILD_DIR

WasmEdge Rust SDK 将按照以下顺序在以下路径中搜索 WasmEdge 库

  • $WASMEDGE_[INCLUDE|LIB]_DIR
  • $WASMEDGE_DIR
  • $WASMEDGE_BUILD_DIR
  • $HOME/.wasmedge
  • /usr/local
  • $HOME/.local

当启用 standalone 功能时,在构建过程中将下载正确的库,并忽略之前的位置。您可以使用环境变量 WASMEDGE_STANDALONE_PROXYWASMEDGE_STANDALONE_PROXY_USERWASMEDGE_STANDALONE_PROXY_PASS 来指定下载过程中的代理。您可以将环境变量 WASMEDGE_STANDALONE_ARCHIVE 设置为使用本地存档而不是下载。

以下架构支持自动下载

操作系统 libc 架构 链接类型
macos - x86_64aarch64 动态
linux glibc x86_64aarch64 静态、动态
linux musl x86_64aarch64 静态

此crate在构建过程中使用 rust-bindgen。如果您想使用外部的 rust-bindgen,可以将环境变量 WASMEDGE_RUST_BINDGEN_PATH 设置为 bindgen 可执行文件的路径。这在像 Alpine Linux 这样的系统中特别有用(参见 rust-lang/rust-bindgen#2360rust-lang/rust-bindgen#2333)。

注意:支持的最小Rust版本是1.71。

API参考

示例

WasmEdge RustSDK的示例仓库包含许多示例,展示了如何使用WasmEdge Rust SDK。

贡献

请阅读有关如何贡献代码的贡献指南

许可证

本项目采用Apache 2.0许可证许可。

依赖关系

~5-18MB
~264K SLoC