Просто обнаружив Rust и прочитав первые две главы документации, я нахожу подход и то, как они определили язык, особенно интересный. Поэтому я решил намочить мои пальцы и начать с Hello world...
Я сделал это на Windows 7 x64, btw.
fn main() {
println!("Hello, world!");
}
Выдавая cargo build
и глядя на результат в targets\debug
, я обнаружил, что полученный .exe
составляет 3 МБ. После некоторых поисков (документация по флагам командной строки груза трудно найти...) Я нашел параметр --release
и создал сборку выпуска. К моему удивлению, размер .exe уменьшился лишь незначительно: 2,99 МБ вместо 3 МБ.
Итак, признавшись, что я новичок в Rust и его экосистеме, я ожидал, что язык системного программирования создаст что-то компактное.
Может ли кто-нибудь уточнить, что компилирует Rust, как это возможно, он создает такие огромные изображения из 3-х линейных программ? Собирает ли она виртуальную машину? Есть ли какая-либо команда, которую я пропустил (отладочная информация внутри сборки релиза?)? Что-нибудь еще, что могло бы понять, что происходит?