Crates.io | libwavm-sys |
lib.rs | libwavm-sys |
version | 0.1.4 |
source | src |
created_at | 2022-07-05 20:05:25.620899 |
updated_at | 2022-07-07 14:27:47.632241 |
description | WAVM (WebAssembly Virtual Machine) C API bindings for Rust. |
homepage | |
repository | https://github.com/heviat/libwavm-sys |
max_upload_size | |
id | 620034 |
size | 12,393,491 |
WAVM can be find here
The bindings for Rust are generated via bindgen and not wrapped any further at this moment. Therefore, you will need to write some wrapper functions to handle the unsafe API calls by yourself. Currently, the bindings are only generated for the static WAVM C-API on Windows systems. As soon as possible, there will be bindings for Unix systems.
Please keep in mind that this crate is in a very early stage and not well tested. Additionally, the provided interfaces could change rapidly.
All you need is a working WAVM installation on your system. By using static libraries, this crate should be working then.
Example code:
extern crate libwavm_sys;
fn main() {
//Take a look at https://github.com/WAVM/WAVM/blob/master/Examples/embedder/c/embedder-example.c to see how the C API of WAVM works
unsafe {
let engine = libwavm_sys::wasm_engine_new();
//Do whatever you want with the engine
}
}