windows - 如何在 Rust 中跨平台获取可执行扩展?

标签 windows path rust filenames

我正在编写可移植的 Rust 代码以在某些目录中查找程序。在 Windows 上,我希望它是 foo.exe,而在其他地方只是 foo

显然我可以只使用 if cfg!(windows) 但这看起来很难看。

是否有更好的方法来查找平台的可执行文件扩展名?

最佳答案

是的,std::env::consts::EXE_SUFFIX在 Windows 上将是 .exestd::env::consts::EXE_EXTENSION将是 exe。在 Unix 上两者都是空的。

这些可以与基本名称结合使用,例如 std::path::PathBuf::set_extension .

关于windows - 如何在 Rust 中跨平台获取可执行扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917780/

相关文章:

rust - 如何在 map 函数中进行正确的错误处理?

python - 导入错误 : No module named path

visual-studio - Visual Studio 的 .sln 和 .vcproj 文件中的宏/环境变量

enums - 如何将 CLI 参数限制为枚举?

java - Windows 中 Java 应用程序和 C++ 应用程序之间的同步

java - 使用 A* 在图中寻找路径

rust - 将包含从 Rust 到 C 的函数指针的零终止数组的 C 符号公开

python - 导入错误: no module named numpy (numpy already installed)

windows - 为什么 WiX 将 _wixCert_{0-9} 添加到证书友好名称中?

windows - 如何使用命令行安装将 Tomcat 7 安装为 Windows 服务