You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is currently work in progress and may or may not be entirely sound.
Sample
A simple example that loads a wasm module and executes an exported function to add two i64s together.
use wasm3::Environment;use wasm3::Module;fnmain(){let env = Environment::new().expect("Unable to create environment");let rt = env
.create_runtime(1024).expect("Unable to create runtime");let module = Module::parse(&env,&include_bytes!("wasm/wasm_add/wasm_add.wasm")[..]).expect("Unable to parse module");let module = rt.load_module(module).expect("Unable to load module");let func = module
.find_function::<(i64,i64),i64>("add").expect("Unable to find function");println!("Wasm says that 3 + 6 is {}", func.call(3,6).unwrap())}
Building
This crate currently does not make use of the cmake project of wasm3, meaning cmake is not required to built this for the time being.
It does however require Clang 9 to be installed as well as Bindgen, should the build-bindgen feature not be set.
The wasm3 c source is included via a submodule, so before building the submodule has to be initialized, this can be done via: