Rust 每日千行之旅<0>:源代碼組織,Cargo 入門
阿新 • • 發佈:2017-10-31
最終 項目目錄 div zsh span org rust logs ack
Rust 源代碼組織,使用配套的 Cargo 工具,其功能強大,程序員可擺脫 C/C++ 中需要自行維護 make、cmake 之類配置的工作量。
初始化一個項目:
cargo new --bin hello_world
指定 --bin 選項代表創建的是一個直接可執行的二進制項目,否則會生成一個庫項目。
執行 cargo run && cargo run --release 之後,項目目錄結構如下:
<fh@z:~/projects/hello_world> zsh/3 114 (git)-[master]-% tree . ├── Cargo.lock ├── Cargo.toml ├── src │ └── main.rs └── target ├── debug │ ├── build │ ├── deps │ │ └── hello_world-f745b285e01df5ca │ ├── examples │ ├── hello_world │ ├── hello_world.d │ ├── incremental │ └── native └── release ├── build ├── deps │ └── hello_world-7399f171987fdf9d ├── examples ├── hello_world ├── hello_world.d ├── incremental └── native
生成的二進制文件位於項目路徑下的 target/debug 或 target/release 子目錄中,--release 指生成編譯優化版的二進制文件,類似於 C 語言開啟 -O2 優化選項。
其中 Cargo.toml 是 Cargo 用來管理項目結構的配置文件,其初始內容如下:
<fh@z:~/projects/hello_world> zsh/3 116 (git)-[master]-% cat Cargo.toml [package] name = "hello_world" version = "0.1.0" authors = ["kt <[email protected]>"] [dependencies]
____
註:rust 生成的最終可執行文件,都是無外部依賴的靜態編譯結果。
Rust 每日千行之旅<0>:源代碼組織,Cargo 入門