【发布时间】:2022-01-27 17:16:39
【问题描述】:
有一个包含程序的字节数组。如何从 rust 代码在新进程中运行它。这是什么类型的:
const PROGRAM: &[u8] = include_bytes!("proxy.exe");
fn main() {
CreateNewProccess(PROGRAM);
}
【问题讨论】:
有一个包含程序的字节数组。如何从 rust 代码在新进程中运行它。这是什么类型的:
const PROGRAM: &[u8] = include_bytes!("proxy.exe");
fn main() {
CreateNewProccess(PROGRAM);
}
【问题讨论】:
运行嵌入式可执行文件最直观的方法是将其写入磁盘,即使是临时的,然后才运行它。这是在 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()?;
根据您的用例,将可执行文件存储在这样的主程序中可能不值得。
另见:
【讨论】: