1 个不稳定版本
0.11.0 | 2021年6月17日 |
---|
#4 in #ewasm
每月下载量21次
用于 sewup
35KB
771 行
ss-ewasm-rust-api
ewasm/ewasm-rust-api 的分支
为什么我们分支这个?
我们向上游提交了一个 PR,以使用 wasm_import_module
并移除函数前缀,但它仍在等待合并。此修改将影响 WasmEdge 在 SewUp 中的使用,并阻止 SewUp 的发布。因此,我们进行了分支并将其发布到 crate.io。
该项目旨在从 Rust 为 ewasm 提供低级和高级绑定。
用法
像往常一样添加依赖关系
[dependencies]
ewasm-api = "0.11"
确保项目是一个 cdylib
类型的库
[lib]
crate-type = ["cdylib"]
在你的项目中包含预览
use ewasm_api::prelude::*;
此外,还有一些宏支持,可以简化创建合约的过程
#[macro_use]
extern crate ewasm_api;
use ewasm_api::prelude::*;
fn entry() {
// The actual contract code goes here.
}
ewasm_entry_point!(entry);
还有其他模块可供使用,除了预览。有关更多信息,请参阅文档。
ewasm-rust-api
可以构建具有各种功能集
default
:使用wee_alloc
作为全局分配器,并使用 Rust 标准库构建。qimalloc
:使用 qimalloc 作为全局分配器。debug
:公开调试接口。experimental
:公开实验性大数系统库 API。
要启用特定功能,请按以下方式包含依赖关系
[dependencies.ewasm_api]
version = "0.11"
default-features = false
features = ["std", "qimalloc"]
更详细的文档可在 此处 获取。
作者
Alex Beregszaszi,Jake Lang
许可
Apache 2.0
依赖关系
~90–265KB