Rust документация учит нас, что cargo build
создает двоичный файл после компиляции, который мы можем выполнить с помощью cargo run
. cargo run
снова скомпилирует код, если он заметит какие-либо изменения после выполнения команды cargo build
. Также сказано, что команда cargo build --release
создает финальную программу, которая будет работать быстрее.
Мой вопрос: почему, когда я делаю cargo build --release
, он компилирует код, и это нормально. Но когда я выполняю cargo run
, он снова компилирует код, хотя с тех пор я не изменил ни одного кода. Обычно он работает с cargo build
, после чего cargo run
, т.е. один раз компилируется с помощью предыдущей команды.
naufil@naufil-Inspiron-7559:~/Desktop/rust/20April/variables$ cargo build
Compiling variables v0.1.0 (/home/naufil/Desktop/rust/20April/variables)
Finished dev [unoptimized + debuginfo] target(s) in 0.35s
naufil@naufil-Inspiron-7559:~/Desktop/rust/20April/variables$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target/debug/variables`
Hello, world! 6
naufil@naufil-Inspiron-7559:~/Desktop/rust/20April/variables$ cargo build --release
Compiling variables v0.1.0 (/home/naufil/Desktop/rust/20April/variables)
Finished release [optimized] target(s) in 0.34s
naufil@naufil-Inspiron-7559:~/Desktop/rust/20April/variables$ cargo run
Compiling variables v0.1.0 (/home/naufil/Desktop/rust/20April/variables)
Finished dev [unoptimized + debuginfo] target(s) in 0.23s
Running `target/debug/variables`
Hello, world! 6