我想了解 Rust 程序在编译为 wasm 文件时实际导出的内容,以便我可以importObject为实例化函数提供有效的值:
WebAssembly.instantiate(bufferSource, importObject);
Run Code Online (Sandbox Code Playgroud)
据我了解,执行此操作的唯一方法是导出已编译代码的类似 s 语法的文件。我无法在他们的文档中或通过网络搜索找到如何执行此操作。
我正在尝试使用图像包装箱将图像从JavaScript加载到带有Rust的WebAssembly .
我有以下Rust代码:
extern crate image;
extern crate libc;
use libc::c_void;
use std::mem;
#[no_mangle]
pub extern "C" fn alloc(size: usize) -> *mut c_void {
let mut buf = Vec::with_capacity(size);
let ptr = buf.as_mut_ptr();
mem::forget(buf);
return ptr as *mut c_void;
}
#[no_mangle]
pub extern "C" fn read_img(buff_ptr: *mut u8, buff_len: usize) -> *mut i32 {
let mut img: Vec<u8> = unsafe { Vec::from_raw_parts(buff_ptr, buff_len, buff_len) };
let ok = Box::new([333]);
let err = Box::new([331]);
return match image::load_from_memory(&img) {
Ok(img) …Run Code Online (Sandbox Code Playgroud)