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
。