如何使用Rust检测操作系统类型?我需要指定一个特定于操作系统的默认路径。应该使用条件编译吗?
例如:
#[cfg(target_os = "macos")]
static DEFAULT_PATH: &str = "path2";
#[cfg(target_os = "linux")]
static DEFAULT_PATH: &str = "path0";
#[cfg(target_os = "windows")]
static DEFAULT_PATH: &str = "path1";
答案 0 :(得分:7)
有点晚了,但是有一种内置的方法可以使用std lib来检测操作系统。例如:
use std::env;
println!("{}", env::consts::OS); // Prints the current OS.
可能的值在here
中进行了描述希望这对以后有帮助的人。
答案 1 :(得分:4)
您还可以使用cfg!
语法扩展名。
if cfg!(windows) {
println!("this is windows");
} else if cfg!(unix) {
println!("this is unix alike");
}
答案 2 :(得分:3)