107.08.31 [Rust] cargo 使用多個 main 檔案

寫學習的程式時,若每一個 main 函式就要用 cargo new 新增專案的話不免有些浪費
所以就找到如何同時存在多個有 main 函式的檔案

e.g. 正常下用 cargo new 時檔案結構
$ cargo new mytest
$ cd mytest
$ tree .
mytest/
├── Cargo.toml
└── src
    └── main.rs

測試這個 main 時只需要用 cargo run 執行即可
cargo 會去找 src/lib.rs 或 src/main.rs 當作程式進入點的檔案


再來我們來新增一些其他的 main
$ vim src/main1.rs
fn main() {
    println!("main1~");
}

接著還有一個重要步驟,就是去 Cargo.toml 加入設定
$ vim Cargo.toml
下方加入:
[[bin]]
name = "0"
path = "src/main.rs"

[[bin]]
name = "1"
path = "src/main1.rs"

此時用 cargo run 會出現錯誤,因為有多個執行檔可以產生
必須使用 --bin 指定,後面的 0、1 是剛剛在 Cargo.toml 中使用的 name
$ cargo run --bin 0
$ cargo run --bin 1


參考資料:
How can I build multiple binaries with Cargo?

沒有留言:

張貼留言

^ Top