Muh*_*fil 5 compilation rust rust-cargo
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
Run Code Online (Sandbox Code Playgroud)
cargo run尝试运行项目的调试版本。使用cargo run --release代替。A cargo build --release之后cargo run --release不会再编译。
Cargo维护两组几乎完全独立的构建工件:
target/debug/target/release/所有这些子命令都允许您指定使用哪些配置文件(不一定是详尽的列表):
--release)
cargo build cargo run cargo test cargo check--debug)
cargo benchcargo install