1
我正在编写可移植的Rust代码以查找某些目录中的程序。在Windows上,我预计它将是foo.exe
和其他地方只foo
。如何获取Rust中跨平台的可执行扩展?
很明显,我可以只使用if cfg!(windows)
,但看起来很丑。
有没有更好的方法来找到平台的可执行文件扩展名?
我正在编写可移植的Rust代码以查找某些目录中的程序。在Windows上,我预计它将是foo.exe
和其他地方只foo
。如何获取Rust中跨平台的可执行扩展?
很明显,我可以只使用if cfg!(windows)
,但看起来很丑。
有没有更好的方法来找到平台的可执行文件扩展名?
是的,std::env::consts::EXE_SUFFIX
将在Windows上为.exe
,而std::env::consts::EXE_EXTENSION
将为exe
。 Unix上都是空的。
这些可以与基本名称结合使用,例如std::path::PathBuf::set_extension
。