17 个稳定版本 (6 个主要版本)

24.0.0 2024 年 8 月 20 日
23.0.2 2024 年 8 月 12 日
23.0.1 2024 年 7 月 22 日
22.0.0 2024 年 6 月 20 日
18.0.3 2024 年 3 月 12 日

#376WebAssembly

Download history 2904/week @ 2024-04-30 3920/week @ 2024-05-07 2543/week @ 2024-05-14 2822/week @ 2024-05-21 2462/week @ 2024-05-28 2443/week @ 2024-06-04 3019/week @ 2024-06-11 2985/week @ 2024-06-18 2900/week @ 2024-06-25 2797/week @ 2024-07-02 4779/week @ 2024-07-09 2944/week @ 2024-07-16 2789/week @ 2024-07-23 3742/week @ 2024-07-30 2521/week @ 2024-08-06 2720/week @ 2024-08-13

12,255 每月下载量
4 个 crates 中使用 (2 个直接使用)

Apache-2.0 WITH LLVM-exception

3MB
47K SLoC

Wasmtime 的 C API

API 文档

Wasmtime C 库的 API 文档在此托管。.

在 C 项目中使用

使用预构建的静态或动态库

Wasmtime 的 GitHub 发布页面 GitHub Releases 上的每个版本都附带了针对各种架构和操作系统的预构建的二进制文件,以及您可以包含的头文件。

从源代码构建 Wasmtime 的 C API

要从 C 或 C++ 项目使用 Wasmtime,您必须安装 CMakeRust 工具链

从 Wasmtime 仓库的根目录运行以下命令

$ cmake -S crates/c-api -B target/c-api --install-prefix "$(pwd)/artifacts"
$ cmake --build target/c-api
$ cmake --install target/c-api

这些命令将生成以下文件

  • artifacts/lib/libwasmtime.{a,lib}:静态 Wasmtime 库。确切扩展名取决于您的操作系统。

  • artifacts/lib/libwasmtime.{so,dylib,dll}:动态Wasmtime库。确切的扩展名取决于您的操作系统。

  • artifacts/include/**.h:用于与Wasmtime一起工作的头文件。

在Rust项目中使用

如果您有一个包含绑定到使用Wasmtime的C或C++库的Rust包,您可以使用Cargo链接Wasmtime C API。

  1. wasmtime-c-api-impl包添加到您的Cargo.toml中。请注意,包名与库名不同。
[dependencies]
wasmtime-c-api = { version = "16.0.0", package = "wasmtime-c-api-impl" }
  1. 在您的build.rs文件中,在编译您的C/C++源代码时,将C wasmtime-c-api头文件添加到包含路径
fn main() {
    let mut cfg = cc::Build::new();

    // Add to the include path the wasmtime headers and the standard
    // Wasm C API headers.
    cfg
        .include(std::env::var("DEP_WASMTIME_C_API_INCLUDE").unwrap());

    // Compile your C code.
    cfg
        .file("src/your_c_code.c")
        .compile("your_library");
}

依赖关系

~16–32MB
~548K SLoC