有一个包含程序的字节数组。如何从Rust代码在新进程中运行它?就像这样:
const PROGRAM: &[u8] = include_bytes!("proxy.exe"); fn main() { CreateNewProccess(PROGRAM); }
wnavrhmk1#
运行嵌入式可执行文件最直观的方法是将其写入磁盘(即使是临时的),然后才运行它。下面是在Rust中如何执行此操作。
let program = { let mut p = std::env::current_dir()?; p.push("proxy.exe"); p }; std::fs::write(&program, PROGRAM)?; let child = std::process::Command::new(program) .spawn()?;
根据您的用例,可能不值得像这样将可执行文件存储在主程序中。另见:
1条答案
按热度按时间wnavrhmk1#
运行嵌入式可执行文件最直观的方法是将其写入磁盘(即使是临时的),然后才运行它。下面是在Rust中如何执行此操作。
根据您的用例,可能不值得像这样将可执行文件存储在主程序中。
另见: