I want to expose a [u32; 3] constant from a wasm guest (Rust) to the wasmtime host (also Rust). I believe from the host's side, I can access a global extern. How can I expose this in the Rust guest code though?
Hey,
In your Rust guest you can use a static with #[no_mangle]
, such as:
#[no_mangle]
pub static DN: [u32; 3] = [1, 2, 3];
that should create an exported global variable of i32
wasm type named "DN". This is a pointer in linear memory where the array is stored. If you use wasmtime and wasm32-unknown-unknown, you should be able to instantiate the module, get the memory, get the global and then read the 3*4 bytes starting at the value pointing by the global DN
.
Last updated: Dec 23 2024 at 12:05 UTC