1 个不稳定版本
0.2.0 | 2023 年 6 月 3 日 |
---|
#762 in WebAssembly
120KB
2K SLoC
externref
Crate 的 CLI
此 crate 为 externref
提供命令行界面。它允许将使用 externref
模拟的 WASM 模块转换为使用真实的 externref
类型。
安装
使用以下命令安装
cargo install --locked externref-cli
# This will install `externref` executable, which can be checked
# as follows:
externref --help
默认情况下,通过 tracing
crate 功能启用跟踪。您可以通过将 --no-default-features
参数添加到安装命令来手动禁用功能。跟踪主要在 DEBUG
和 INFO
级别上使用 externref::*
目标执行,并将跟踪事件输出到 stderr,使用 标准订阅者;可以使用 RUST_LOG
环境变量配置其过滤(例如,RUST_LOG=externref=debug
)。
或者,您可以使用以下方式安装和使用 CLI 应用程序 Docker 镜像:如以下所述,或从 GitHub 发布版 下载适用于流行目标的预构建应用程序二进制文件(x86_64 用于 Linux / macOS / Windows 和 AArch64 用于 macOS)。
用法
可执行文件提供与 externref
crate 中的 WASM processor
相同的功能。有关可用选项的详细说明,请参阅其文档和 externref --help
的输出。
警告
处理器应在 WASM 优化工具(如 binaryen 的
wasm-opt
)之前运行。
使用 Docker 镜像
作为本地安装的低成本替代方案,您可以从 GitHub 容器注册表 安装并使用 CLI 应用程序。要在一个 Docker 容器中运行应用程序,请使用以下命令:
docker run -i --rm ghcr.io/slowli/externref:main - \
< module.wasm \
> processed-module.wasm
在这里,-
是 CLI 应用的参数,指示从 stdin 读取输入模块。要输出跟踪信息,请在容器中设置 RUST_LOG
环境变量,例如使用 docker run --env RUST_LOG=debug ...
。
示例
以下终端捕获展示了转换测试WASM模块的过程。捕获包括跟踪输出,通过设置RUST_LOG
环境变量来开启。跟踪信息包括每个转换后的函数和一些其他可能对调试有用的信息。
许可证
根据您的选择,可在Apache License, Version 2.0或MIT许可证下使用。
除非您明确指出,否则根据Apache-2.0许可证定义,您有意提交给externref
的贡献将按上述方式双许可,不附加任何额外的条款或条件。
依赖项
~6–16MB
~219K SLoC