#string #wasm-edge #type #host #macro #data #wasmedge-bindgen

wasmedge-bindgen-macro

从宿主向WebAssembly传递字符串、vec和原始类型

9个版本

0.4.1 2022年11月18日
0.4.0 2022年7月6日
0.1.14 2022年6月16日
0.1.13 2022年1月11日
0.1.8 2021年12月23日

#1320过程宏

Download history 25/week @ 2024-03-16 4/week @ 2024-03-23 44/week @ 2024-03-30 109/week @ 2024-04-06 24/week @ 2024-04-13 65/week @ 2024-04-20 9/week @ 2024-04-27 8/week @ 2024-05-11 1/week @ 2024-05-18 79/week @ 2024-05-25 35/week @ 2024-06-01 99/week @ 2024-06-08 8/week @ 2024-06-15 4/week @ 2024-06-22

114 每月下载量

MIT/Apache

22KB
598

关于

此crate只导出一个名为 #[wasmedge_bindgen] 的宏,用于修改导出函数以支持更多数据类型。

数据类型

参数

您可以将参数设置为以下类型之一

  • 标量类型:i8, u8, i16, u16, i32, u32, i64, u64, f32, f64, bool, char
  • 字符串
  • Vec:Vec, Vec, Vec, Vec, Vec, Vec, Vec, Vec

返回值

您可以将返回值设置为以下类型之一

  • 标量类型:i8, u8, i16, u16, i32, u32, i64, u64, f32, f64, bool, char
  • 字符串
  • Vec:Vec, Vec, Vec, Vec, Vec, Vec, Vec, Vec
  • 元组类型:由任意数量的上述三种类型组成
  • Result:Ok<任意一种上述四种类型>,Err

告诉宿主发生错误的唯一方法是通过返回Result的Err

示例

#[wasmedge_bindgen]
pub fn create_line(p1: String, p2: String, desc: String) -> String

#[wasmedge_bindgen]
pub fn lowest_common_multiple(a: i32, b: i32) -> i32

#[wasmedge_bindgen]
pub fn sha3_digest(v: Vec<u8>) -> Vec<u8>

#[wasmedge_bindgen]
pub fn info(v: Vec<u8>) -> Result<(u8, String), String>

依赖

~1.5MB
~35K SLoC