Константа EXE_EXTENSION
Константа EXE_EXTENSION из модуля std::env
содержит строку с расширением исполняемых файлов,
принятым в текущей операционной системе. На Windows
это "exe", а на Unix-подобных системах -
пустая строка "". Константа не принимает
параметров и доступна на этапе компиляции.
Синтаксис
std::env::EXE_EXTENSION
Пример
Давайте выведем значение константы EXE_EXTENSION
на экран:
fn main()
{
let ext = std::env::EXE_EXTENSION;
println!("{}", ext);
}
Результат выполнения кода на Windows:
"exe"
Результат выполнения кода на Linux или macOS:
""
Пример
Давайте сформируем имя исполняемого файла с учётом расширения текущей платформы:
fn main()
{
let name = "program";
let ext = std::env::EXE_EXTENSION;
let file = if ext.is_empty()
{
name.to_string()
}
else
{
format!("{}.{}", name, ext)
};
println!("{}", file);
}
Результат выполнения кода на Windows:
"program.exe"
Результат выполнения кода на Linux или macOS:
"program"
Пример
Давайте сравним константу EXE_EXTENSION
с константой EXE_SUFFIX, которая содержит
расширение вместе с точкой:
fn main()
{
println!("{}", std::env::EXE_EXTENSION);
println!("{}", std::env::EXE_SUFFIX);
}
Результат выполнения кода на Windows:
"exe"
".exe"
Смотрите также
-
константа
EXE_SUFFIX,
которая содержит расширение исполняемых файлов вместе с точкой -
константа
DLL_SUFFIX,
которая содержит расширение динамических библиотек -
константа
OS,
которая содержит имя текущей операционной системы -
функция
current_exe,
которая возвращает полный путь к текущему исполняемому файлу