1. 程式人生 > >【rust】Rust 的構建系統和包管理工具Cargo認識並初步使用(2)

【rust】Rust 的構建系統和包管理工具Cargo認識並初步使用(2)

運行 ron fin nim finished -- 傳遞 如何 兩個

  Cargo 是 Rust 的構建系統和包管理工具,同時 Rustacean 們使用 Cargo 來管理它們的 Rust 項目。Cargo 負責三個工作:構建你的代碼,下載你代碼依賴的庫並編譯這
些庫。我們把你代碼需要的庫叫做“依賴(dependencies)”因為你的代碼依賴他們。
  官方安裝包的話,Rust 自帶 Cargo

Cargo安裝

  rust官方安裝包自帶Cargo,在終端檢查你是否安裝了 Cargo:

cargo --version

Cargo工程創建

  1、創建工程目錄(例如/home目錄下創建)

mkdir  projects

  2、進入/home/projects目錄,然後新建Cargo工程

cd /home/projects/
cargo new hello_world --bin

  這個命令傳遞了 --bin 參數因為我們的目標是直接創建一個可執行程序,而不是一個庫。Cargo 為我們創建了兩個文件和一個目錄:一個 Cargo.toml (該文件首字母C 必須大寫,同時該文件必須與src放置於同級目錄,否則運行報錯) 和一個包含了 main.rs 文件的 src 目錄。

關於Cargo.toml:確保 Cargo.toml 的 C 是大寫的,否則 Cargo 不知道如何處理配置文件。這個文件使用TOML(Tom‘s Obvious, Minimal Language)格式。 TOML 類似於INI,不過有一些額外的改進之處,並且被用作 Cargo 的配置文件。

  3、編譯(cargo build

#cd hello_world/
#cargo build
   Compiling hello_world v0.1.0 (/home/projects/hello_world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.43s

  4、運行(cargo run

# cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running `target/debug/hello_world`
Hello, world
!

  5、發布構建(cargo build --release )

  你的項目準備好發布了,可以使用 cargo build --release 來優化編譯項目。這些優化可以讓 Rust 代碼運行的更快,不過啟用他們會讓程序花更長的時間編譯。這也是為何這是兩種不同的配置,一個為了開發,另一個構建提供給用戶的最終程序。

# cargo build --release
    Finished release [optimized] target(s) in 0.01s
# ls
Cargo.lock  Cargo.toml  src  target

  運行完成後發現會生成Cargo.lock 文件以及target目錄,Cargo 用 Cargo.lock 文件跟蹤你程序的依賴。這裏是 Hello World 項目的 Cargo.lock 文件。這個項目並沒有依賴,所以內容有一點稀少。事實上,你自己甚至都不需要碰這個文件;僅僅讓 Cargo 處理它就行了。到了這一步,就已經成功使用 Cargo 構建了 hello_world 。

關於Cargo.toml配置內容將另外說明;

【rust】Rust 的構建系統和包管理工具Cargo認識並初步使用(2)