官术网_书友最值得收藏!

1.4 Hello Cargo

在體驗了手工編譯和運行Rust程序之后,下面介紹Rust提供的構建工具和包管理器Cargo。使用Cargo管理Rust項目,特別是編寫復雜的Rust程序,可以很方便地構建代碼、下載依賴庫并編譯這些庫。在實際項目開發中,建議一律使用Cargo來管理Rust項目。Cargo的常用命令如表1-1所示。

表1-1 Cargo常用命令

015-01

如果想查看cargo的幫助信息,可以在終端命令行窗口使用cargo -h命令。如果對某個命令不甚熟悉,可以使用cargo help <command>顯示某個命令的幫助信息。

1. 創建項目

cargo可以創建兩種類型的項目:可執行的二進制程序和庫。

1)運行以下命令,可以創建可執行的二進制程序。

$ cargo new project_name

2)運行以下命令,可以創建庫。

$ cargo new project_name --lib

下面使用Cargo創建新項目——可執行的二進制程序hello_cargo。在終端運行以下命令:

$ cargo new hello_cargo

這會生成一個名為hello_cargo的新文件夾,其中包含以下文件:

hello_cargo
|- Cargo.toml
|- src
    |- main.rs

Cargo.toml是項目數據描述文件,其中包含項目的元數據和依賴庫。src/main.rs是源代碼文件。編輯源代碼文件,輸入以下代碼:

1  fn main() {
2      println!("Hello, Cargo!");
3  }

2. 編譯并運行項目

編譯項目,在終端運行以下命令:

$ cargo build

查看文件夾會發現,文件結構已發生變化,其中包含以下文件:

hello_cargo
|- Cargo.lock
|- Cargo.toml
|- src
    |- main.rs
|- target
    |- debug
        |- hello_cargo
        |- ...

cargo build命令會在target/debug/目錄下生成一個可執行文件hello_cargo。運行這個可執行文件,可以看到打印出“Hello, Cargo!”字符串。

$ ./target/debug/hello_cargo

也可以直接使用cargo run命令在編譯的同時運行生成的可執行文件:

$ cargo run
    Compiling hello_cargo v0.1.0 (/hello_cargo)
        Finished dev [unoptimized + debuginfo] target(s) in 0.31s
            Running `target/debug/hello_cargo`
Hello, Cargo!

3. 發布項目

項目經過嚴格測試,最終準備發布時,可以使用cargo build --release來優化編譯項目,這時會在target/release目錄下生成一個在生產環境中使用的可執行文件。

對于簡單項目,Cargo可能并不比rustc提供更多的便利。但隨著開發的深入,特別是對于多crate的復雜項目,Cargo將會提供極大的便利。本書后續章節的示例代碼將全部使用Cargo來構建。

主站蜘蛛池模板: 阳高县| 寿宁县| 泌阳县| 洛南县| 磐石市| 城固县| 长岛县| 禄丰县| 汕头市| 德兴市| 高青县| 万载县| 元氏县| 开平市| 柳州市| 承德市| 安福县| 喀什市| 洛浦县| 蒙山县| 普安县| 化州市| 桑日县| 武山县| 上虞市| 大兴区| 颍上县| 施甸县| 新昌县| 奉新县| 博野县| 襄垣县| 富裕县| 方山县| 新营市| 扎赉特旗| 康定县| 琼海市| 邢台县| 宜宾市| 深圳市|