![](/img/trans.png)
[英]How to get the binary output of cargo run <rust.rs>?
[英]Why does Rust compile my project again with `cargo build --release` followed by `cargo run`?
Rust文檔告訴我們, cargo build
會在編譯后創建一個二進制文件,我們可以通過cargo run
執行該文件。 如果在執行cargo build
命令后發現任何更改, cargo run
將再次編譯該代碼。 它還說, 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
cargo run
嘗試運行項目的調試版本。 請改用cargo run --release
。 cargo build --release
然后是cargo run --release
將不會再次編譯。
Cargo維護兩組幾乎完全獨立的構建工件:
target/debug/
target/release/
所有這些子命令都允許您指定使用哪些配置文件(不一定是詳盡的列表):
--release
切換到發布模式)
cargo build
cargo run
cargo test
cargo check
--debug
切換到調試模式)
cargo bench
cargo install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.