最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

1.4 Hello Cargo

2023-02-15 11:18 作者:本人帥依萱  | 我要投稿

前言:

ps:第一章前三節(jié)的筆記由于作用不大,忽略。

?

????????????? 第一節(jié):簡(jiǎn)介

????????????? 第二節(jié):安裝rust

????????????? 第三節(jié):Hello World

?

Rustc

????????????? Rustc 是 Rust 編譯器的縮寫(xiě),是 Rust 語(yǔ)言的核心工具之一。

????????????? 雖然 Rust 語(yǔ)言和 Rustc 編譯器都有優(yōu)秀的性能和內(nèi)存安全特性,但是在處理大型項(xiàng)目時(shí),大型項(xiàng)目可能會(huì)產(chǎn)生復(fù)雜的依賴關(guān)系和代碼結(jié)構(gòu),這可能會(huì)影響 Rustc 編譯器的性能。在 Rustc 編譯器的工作方式中,代碼的類型推斷和 borrow checker 等功能需要進(jìn)行復(fù)雜的計(jì)算,這可能會(huì)導(dǎo)致編譯時(shí)間比較長(zhǎng)。此外,Rustc 編譯器的錯(cuò)誤信息和調(diào)試信息等也比較詳細(xì),這也會(huì)增加編譯時(shí)間和輸出文件的大小。

????????????? 因此對(duì)于一些比較大的項(xiàng)目,我們需要使用其他的工具,這些工具就叫cargo。

?

Cargo

????????????? Corgo是Rust的構(gòu)建系統(tǒng)和包管理工具:
-- 能構(gòu)建代碼、下載依賴的庫(kù)、構(gòu)建這些庫(kù)...

????????????? 安裝Rust 的時(shí)候會(huì)自動(dòng)安裝Cargo
測(cè)試cargo是否正常安裝的方法如下:

cargo --version
//查詢cargo版本,如果cargo正常安裝,會(huì)彈出cargo版本信息


彈出cargo版本信息


?

使用Cargo創(chuàng)建項(xiàng)目

cargo new hello_cargo;
//創(chuàng)建一個(gè)cargo項(xiàng)目
//cargo new 項(xiàng)目名;

用Cargo創(chuàng)建項(xiàng)目


會(huì)創(chuàng)建一個(gè)新的目錄:hello_cargo

????????????? Cargo.toml
-- Cargo的配置模式

????????????? src目錄
-- main.rs

????????????? 初始化了一個(gè)新的 Git 倉(cāng)庫(kù): .gifignore
-- 可以使用其它的VCS或不使用VCS:cargo new的時(shí)候使用--vcs這個(gè)flag

?

Cargo.toml

Cargo.toml文件內(nèi)容


????????????? [package] 區(qū)域標(biāo)題,下方內(nèi)容是用來(lái)配置package包的
-- name:項(xiàng)目名
-- version:項(xiàng)目版本
-- authors:項(xiàng)目作者
-- edition: 使用的Rust版本

????????????? [dependencies],另一個(gè)區(qū)域的開(kāi)始,它會(huì)列出項(xiàng)目的依賴項(xiàng)

????????????? 在Rust里,代碼的包被稱作crate

scr/main.rs

????????????? cargo生成的mcin.rs在src目錄下

????????????? Cargo.foml在項(xiàng)日頂層下

????????????? 源代碼都應(yīng)該在src目錄下

????????????? 頂層目錄可以放置:README、許可信息、配置文件和其它與程序源碼無(wú)關(guān)的文件

????????????? 如果創(chuàng)建項(xiàng)目時(shí)沒(méi)有使用cargo,也可以把項(xiàng)目轉(zhuǎn)化為使用cargo:
-- 把源代碼文件移到src下
-- 創(chuàng)建Cargo.toml并填寫(xiě)相應(yīng)的配置

?

構(gòu)建Cargo項(xiàng)目

?

cargobuild

????????????? cargo build
-- 創(chuàng)建可執(zhí)行文件:target/debug/hello_cargo(Linux)或target\debug \hello_cargo.exe(Windows)
-- 運(yùn)行可執(zhí)行文件:./target/debug/hello_cargo或.target\debug\hello_cargo.exe(Windows

????????????? 第一次運(yùn)行 corgo build 會(huì)在頂層目錄生成 cargo.lock 文件
-- 該文件負(fù)責(zé)追蹤項(xiàng)目依賴的精確版本
-- 不需要手動(dòng)修改該文件(宇宙毀滅了也不要手改?。?/p>

cargo run

????????????? Cargo run:編譯代碼+執(zhí)行結(jié)果
如果之前編譯成功過(guò),并且源碼沒(méi)有改變,那么就會(huì)直接運(yùn)行二進(jìn)制文件

?????????????

兩次cargo run的對(duì)比

?

cargo check

????????????? cargo check:檢查代碼,確保能通過(guò)編譯,但是不產(chǎn)生任何可執(zhí)行文件

????????????? cargo check要比 cargo build 快得多
-- 編寫(xiě)代碼的時(shí)候可以連續(xù)反復(fù)的使用 cargo check檢查代碼,提高效率

為發(fā)布構(gòu)建

????????????? cargo build --release
-- 編譯時(shí)會(huì)進(jìn)行優(yōu)化,代碼會(huì)運(yùn)行的更快,但是編譯時(shí)間更長(zhǎng)
會(huì)在 target/release 而不是target/debug生成可執(zhí)行文件

cargo build有無(wú)--release的對(duì)比



????????????? 兩種配置:
-- target/debug用于開(kāi)發(fā)
-- target/release用于正式發(fā)布


1.4 Hello Cargo的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
尚志市| 顺昌县| 江门市| 玛纳斯县| 金沙县| 慈利县| 德州市| 东辽县| 洱源县| 于都县| 祁阳县| 深水埗区| 怀集县| 青浦区| 澜沧| 宜都市| 翁牛特旗| 乐至县| 庄河市| 尖扎县| 安仁县| 兴义市| 洱源县| 高台县| 苍山县| 格尔木市| 修武县| 黄陵县| 富裕县| 绥化市| 防城港市| 大名县| 鸡东县| 济源市| 麻江县| 城步| 建阳市| 交城县| 开化县| 鄄城县| 田东县|