發文原因 很多初學者都使用 cargo new [project_name] 來創建項目,並直接在 main.rs 文件中實現所有功能。 這樣是不合理的,並不符合我們 cargo 的開發規範。 下麵將簡單的介紹一下 rust project 中的文件結構。 cargo new [project_na ...
發文原因
很多初學者都使用 cargo new [project_name] 來創建項目,並直接在 main.rs 文件中實現所有功能。
這樣是不合理的,並不符合我們 cargo 的開發規範。
下麵將簡單的介紹一下 rust project 中的文件結構。
cargo new [project_name ] --[bin/lib] 命令可以在項目名稱後指定一個參數,來告訴cargo我們創建的是什麼類型的項目,bin 代表二進位項目,也就是我們常說的可執行文件。 lib 代表庫項目,無法直接執行。 預設參數為 bin。
cargo new [project_name] --bin 創建的預設結構
·
├── Cargo.lock
├── Cargo.toml
├── src/
│ ├── main.rs
├── target/
- ·
根目錄 - Cargo.lock 文件
由 cargo 維護的項目相關依賴的具體信息,不需要我們手動編輯。 - Cargo.toml 文件
由我們編輯的項目名稱、項目版本、項目作者等。以及項目所需相關依賴。 - src/ 文件夾
存放我們的源代碼 - src/main.rs
程式入口 - target/文件夾
用來存放 debug/ release 時的文件,通常不需要我們手動編輯。
下麵只說上面沒說過的文件/文件夾
cargo new [project-name] --lib 創建的預設結構
·
├── Cargo.lock
├── Cargo.toml
├── src/
│ ├── lib.rs
├── target/
- lib.rs
庫的預設輸出口
下麵是相對來說比較完整的目錄
·
├── Cargo.lock
├── Cargo.toml
├── src/
│ ├── main.rs
│ └── another_mod/
│ ├── A.rs
│ ├── b.rs
│ └── mod.rs
├── benches/
│ ├── large-input.rs
│ └── multi-file-bench/
│ ├── main.rs
│ └── bench_module.rs
├── examples/
│ ├── simple.rs
│ └── multi-file-example/
│ ├── main.rs
│ └── ex_module.rs
└── tests/
├── some-integration-tests.rs
└── multi-file-test/
├── main.rs
└── test_module.rs
- src/another_mod
為我們自定義模塊創建的文件夾。 - src/another_mod/A.rs
我們自定義模塊中的的A mod。 - src/another_mod/B.rs
我們自定義模塊中的B mod。 - src/another_mod/mod.rs
我們自定義模塊的 預設導出,任何一個自定義mod 文件夾都應該包含一個 mod.rs文件。 - benches
基準測試文件夾,用來進行性能測試。 - examples
示例文件夾,用來存放crate的調用示例代碼。 - tests
集成測試文件夾,mod 之間的嵌套測試。
本文來自博客園,作者:賢雲曳賀,轉載請註明原文鏈接:https://www.cnblogs.com/SantiagoZhang/p/17266120.html