gpt4 book ai didi

rust - 是否可以在 Rust 中将函数作为进程运行?

转载 作者:行者123 更新时间:2023-11-29 08:30:51 34 4
gpt4 key购买 nike

rust std::process::Command;结构采用 Command::new(program),其中 program 是要执行的程序的路径,如下例所示。

let output = if cfg!(target_os = "windows") {
Command::new("cmd")
.args(&["/C", "echo hello"])
.output()
.expect("failed to execute process")

是否可以在 Rust 中的 Windows 上创建一个新进程来运行一个函数?

最佳答案

简而言之,您不能,创建一个新进程需要的信息远不止它将要执行的代码。参见 CreateProcess Windows 的系统调用。

但是,您可以在这些备选方案之间进行选择:

  1. 创建一个线程。
  2. 创建一个进程,其中可执行文件是正在运行的同一程序,但传递不同的参数来触发您感兴趣的函数的执行。
  3. 创建 Shared Memory Segment .
  4. 创建包含您的函数的第三个库,并在您的原始程序和您生成的程序之间共享它。

关于rust - 是否可以在 Rust 中将函数作为进程运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242918/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com