14 个不稳定版本 (3 个重大更改)

0.5.6 2024年7月31日
0.5.5 2024年7月16日
0.5.4 2024年6月24日
0.5.2 2024年5月16日
0.1.2 2024年2月28日

#499WebAssembly

Download history 373/week @ 2024-05-03 193/week @ 2024-05-10 135/week @ 2024-05-17 10/week @ 2024-05-24 61/week @ 2024-05-31 118/week @ 2024-06-07 427/week @ 2024-06-14 291/week @ 2024-06-21 76/week @ 2024-06-28 104/week @ 2024-07-05 2444/week @ 2024-07-12 7094/week @ 2024-07-19 7427/week @ 2024-07-26 7445/week @ 2024-08-02 7649/week @ 2024-08-09 7221/week @ 2024-08-16

每月下载量 30,934

Apache-2.0…

46KB
861

wasm-component-ld

此 crate 包含一个名为 wasm-component-ld 的二进制文件,它是用于生成 WebAssembly 组件 的两个功能的包装器

  1. 由 LLVM 提供的 wasm-ld 链接器驱动程序
  2. wit_component::ComponentEncoder 类型

此二进制文件首先调用 wasm-ld,然后运行组件化过程以生成最终组件。

安装

此存储库提供 预编译的二进制文件 wasm-component-ld。此存储库还可以使用 cargo binstall 安装。

安装 wasi-sdk 时,此二进制文件默认打包在 sysroot 中,并且 Rust wasm32-wasip2 目标在达到第 2 级时也将包含此二进制文件。

这意味着虽然可以手动安装版本,但不需要这样做。

选项

wasm-component-ld 二进制文件适用于在编译期间用作链接器驱动程序。对于 Clang 和 Rust,wasm32-wasip2 目标将自动调用此二进制文件作为链接器。

这意味着 wasm-component-ld 将大多数参数传递给 wasm-ld。此外,所有 wasm-ld 标志都受支持并传递给 wasm-ld。例如,您可以像这样调用链接器:wasm-component-ld --max-memory=N ...

wasm-component-ld 二进制文件还有一些针对自己的自定义参数,这些参数不会传递给 wasm-ld,可以使用 -h--help 进行探索。

许可证

本项目采用Apache 2/Apache 2(带LLVM例外条款)/MIT许可证的三重许可。这样做的原因是

  • Aapache 2/MIT许可证在Rust生态系统中被广泛采用。
  • Aapache 2/MIT许可证被用于Rust标准库,部分代码可能被迁移到那里。
  • 部分代码可能被用于编译器输出,而带LLVM例外条款的Apache 2许可证对此非常有用。

更多详情请参阅

贡献

除非您明确表示,否则您根据Apache 2/Apache 2(带LLVM例外条款)/MIT许可证提交的任何有意包含在本项目中的贡献,都应按照上述方式许可,不附加任何额外的条款或条件。

依赖

~9–19MB
~268K SLoC