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

bt2-L 1.5 用Cargo來構建、檢查并運行項目

在前面的1.3.3節中,我們已經用Cargo運行了一個項目。除此之外,Cargo提供了一些可以用來和程序交互的其他功能,例如,可以通過輸入cargo help來查看全部功能的列表,或者輸入cargo [command] --help來查看指定命令的各個選項的詳細說明。用戶可以實現如下操作。

(1)通過輸入cargo check來快速檢查項目是否可用。這將檢查當前項目及其依賴項目中的基礎錯誤。這樣做通常會比完整構建一次整個項目快很多。

(2)用cargo build來編譯當前項目——但是并不運行。

(3)用cargo clean來刪除整個target目錄(該目錄是存放編譯后輸出文件的位置)。

Cargo還提供了一些選項來讓用戶自己控制構建程序時的參數。

調試構建與發布構建

當執行cargo run或者cargo build時,項目都是在調試模式下構建的。該模式下只有很少的優化,因此程序的運行速度會比正常水平慢很多。這樣做可以讓調試工作變得更簡單,也可以讓Rust告訴用戶發生問題的精確位置——但代價是程序的運行速度會變慢。此外,它還會產生“調試信息”——這是一種調試工具可以讀取的數據,通過它可以把錯誤信息和程序源代碼的行號關聯起來。這會導致編譯出來的程序變得冗長。

你可以通過cargo run --release命令來實現在發布模式下編譯并運行程序。編譯器會應用多種優化算法,并且不占用額外空間來支持調試器的工作。用戶會得到一個運行速度快很多并且體積小很多的程序,但是它會令排查錯誤變得困難重重。因此,只有真的需要發布程序時,才會再使用發布模式編譯。

主站蜘蛛池模板: 香港 | 东源县| 周至县| 日土县| 泰宁县| 鱼台县| 同德县| 临西县| 新巴尔虎右旗| 贵州省| 那曲县| 和平区| 凉城县| 平乡县| 大关县| 壤塘县| 双流县| 封开县| 疏附县| 民勤县| 梁河县| 烟台市| 黄山市| 大兴区| 洛川县| 长宁县| 东山县| 绥芬河市| 新泰市| 桐庐县| 柳州市| 南京市| 百色市| 杨浦区| 商南县| 栖霞市| 共和县| 鞍山市| 景洪市| 乡城县| 吴桥县|