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