我希望能够写一个非常小的Rust包,并将其编译成wasm,它将能够读取系统内存/中央处理器资源。
这是由于对PC的浏览器保护吗?
我可以使用依赖项sysinfo依赖项并在Rust中运行它没有问题,但是一旦编译成wasm,值就不再可用。它们只是以0的形式返回。
use sysinfo::SystemExt;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(js_namespace = console)]
fn log(s: String);
}
#[wasm_bindgen]
pub fn specs() {
let mut system = sysinfo::System::new();
// First we update all information of our system struct.
system.refresh_all();
// And finally the RAM:
let total_ram = system.get_total_memory();
let used_ram = system.get_used_memory();
let available_ram = total_ram - used_ram;
log(format!("Total memory: {} kB", total_ram)); <--- Work in Rust but return 0 in wasm
log(format!("Used memory: {} kB", used_ram)); <--- Work in Rust but return 0 in wasm
log(format!("Available memory: {} kB", available_ram)); <--- Work in Rust but return 0 in wasm
}发布于 2021-01-08 02:28:24
这会触发一个返回0s的虚拟实现。
关于不久的将来,我不会希望看到对web组装的支持。至少对我来说,我也不清楚这些价值观应该是什么意思。这些值是指整个系统,还是仅指Web Assembly可用的内存?
https://stackoverflow.com/questions/65617116
复制相似问题