營銷網(wǎng)站有四大要素構(gòu)成百度怎么進(jìn)入官方網(wǎng)站
一、什么是Rust
Rust 是由 Mozilla 開發(fā)的多范式編程語言,專注于性能和安全性。
Rust 以其先進(jìn)的安全并發(fā)能力而聞名, 它的語法類似于 C++,但它提供了更快的速度和內(nèi)存安全性,但不使用垃圾收集器。
Rust 最初是為 Mozilla Firefox 瀏覽器開發(fā)的,但它的效率和優(yōu)勢(shì)吸引了許多開發(fā)人員開始使用 Rust,通常用于游戲開發(fā)。
Rust 在內(nèi)存管理方面是創(chuàng)新的。例如,它不允許空指針或懸空指針。由于其功能性,Rust 常用于構(gòu)建設(shè)備驅(qū)動(dòng)程序、嵌入式系統(tǒng)、游戲和操作系統(tǒng),例如 BlogOS、Redox、RustOS、Rux 和 Tock。
Rust 代碼可以說以其速度和在測(cè)試前調(diào)試代碼的能力而聞名。例如,Rust 可以開發(fā)在運(yùn)行時(shí)檢查代碼錯(cuò)誤的程序。
Rust 的特點(diǎn)
- 內(nèi)存管理
- 內(nèi)存安全
- 所有權(quán)制度
- 多態(tài)性
- 速度和性能
二、環(huán)境安裝
1.windows
下載安裝程序: https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
會(huì)得到一個(gè)rustup_init.exe,運(yùn)行出現(xiàn)這個(gè)界面:
三個(gè)選項(xiàng)的意思分別是 1.默認(rèn)參數(shù)安裝 2.自定義安裝 3.取消
*如果當(dāng)前機(jī)器上已經(jīng)安裝了 MSVC (推薦),那么直接輸入 1 并回車即可(默認(rèn)裝在C盤),直接進(jìn)入第二步。如果機(jī)器上安裝的是 MinGW,那么需要輸入 2 (自定義安裝),然后會(huì)提示 Default host triple ? ,將 default host triple 的 “msvc” 改為 “gnu” 再輸入安裝程序:
*
默認(rèn)安裝如果報(bào)錯(cuò)如:
解決方法就是科學(xué)上網(wǎng)。
最后安裝結(jié)果:
然后查看版本測(cè)試一下安裝是否正常:
2.linux
直接運(yùn)行:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
也需要選擇安裝信息,我是直接默認(rèn)了:
最后安裝成功:
這里比windows多一步是重新加載環(huán)境變量,最后測(cè)試一下:
3.others
上面兩個(gè)系統(tǒng)上安裝實(shí)際上都是使用rustup來完成,如果你不想使用這種方法,例如無法科學(xué)上網(wǎng)在下載時(shí)總是失敗,那么可以試試:
https://forge.rust-lang.org/infra/other-installation-methods.html
三、VSCODE 配置
rust沒有官方的編輯器,但它被很多編輯器支持,甚至不用編輯器只使用命令行也可以,我習(xí)慣用VSCODE。
安裝這兩個(gè)插件:
配置就結(jié)束了。。。。。
然后測(cè)試一下,新建一個(gè)hello.rs文件,里面寫:
fn main() {println!("Hello, world!");
}
然后命令行里用 rustc 編譯生成exe,運(yùn)行即可:
四、cargo
1.cargo
Rust 自帶一個(gè)名為 Cargo 的構(gòu)建系統(tǒng)和包管理器。大多數(shù) Rustacean 們使用 Cargo 來管理 Rust 項(xiàng)目,它可以處理很多任務(wù),比如構(gòu)建代碼、下載依賴庫并編譯這些庫。
在編寫復(fù)雜的 Rust 程序時(shí),幾乎都需要用到依賴項(xiàng),如果使用 Cargo 啟動(dòng)項(xiàng)目,添加依賴項(xiàng)將極其容易。
如果使用 rustup 安裝的 rust 編譯器的話,則會(huì)自帶 Cargo,如果通過其他方式安裝的話,還需要再手動(dòng)安裝一下??梢栽诮K端輸入如下命令檢查是否安裝了 Cargo:
$ cargo --version
如果看到了如下,則說明已安裝!如果看到類似 command not found 的錯(cuò)誤,就要去查看相應(yīng)安裝文檔以確定如何單獨(dú)安裝 Cargo。
2.使用
找一個(gè)文件夾,命令行里輸入:
cargo new hello_cargo
結(jié)果:
可以看到生成了一個(gè) hello_cargo 文件夾,這也是我創(chuàng)建時(shí)指定的工程名稱。
然后這個(gè)工程中有一個(gè) src/main.rs ,這里面只有一個(gè)main函數(shù),函數(shù)中輸出了一句 hello world。
然后有一個(gè).gitingore 文件,這是因?yàn)?cargo 會(huì)在創(chuàng)建目錄時(shí)初始化一個(gè) git 倉庫。如果在一個(gè)已經(jīng)存在的 git 倉庫中運(yùn)行 cargo new,則這些 git 相關(guān)文件則不會(huì)生成;可以通過運(yùn)行 cargo new --vcs=git 來覆蓋這個(gè)行為(cargo new 可以切換到其它版本控制系統(tǒng))。
接下來是一個(gè) carho.lock 文件,這個(gè)文件用來記錄項(xiàng)目依賴的實(shí)際版本,正常來說,開發(fā)者不要改動(dòng)這個(gè)文件,完全由 cargo 去控制這個(gè)文件的內(nèi)容。
最后是一個(gè) cargo.toml 文件,這個(gè)文件使用 TOML (Tom’s Obvious, Minimal Language) 格式,這是 Cargo 配置文件的格式。里面的內(nèi)容是:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]
-
[package],是一個(gè)片段(section)標(biāo)題,表明下面的語句用來配置一個(gè)包。隨著在這個(gè)文件增加更多的信息,還可以增加其他片段(section)。
-
name等三行設(shè)置了 Cargo 編譯程序所需的配置:項(xiàng)目名稱、項(xiàng)目版本以及使用的 Rust 版本。(edition 與 rust 的版本對(duì)應(yīng)參考: https://doc.rust-lang.org/nightly/edition-guide/index.html )
-
[dependencies],是其它依賴的片段的開始。在 Rust 中,代碼包被稱為 crates。這個(gè)項(xiàng)目并不需要其他的 crate,等項(xiàng)目用到依賴時(shí)就會(huì)用這個(gè)片段了。
下一步使用 cargo build 來編譯項(xiàng)目:
看到編譯成功,并且生成了一個(gè) target 文件夾,這里面生成了一個(gè) hello_cargo.exe 。
cargo 默認(rèn)是編譯的 debug 版本,因此生成的是 target/debug , 如果想要生成release ,需要使用
cargo build --release
最后,cargo 還有兩個(gè)命令:
cargo run
cargo check
cargo run 會(huì)在一個(gè)命令中同時(shí)編譯并運(yùn)行生成的可執(zhí)行文件;
cargo check 會(huì)快速檢查代碼確保其可以編譯,但并不產(chǎn)生可執(zhí)行文件;
cargo 使用起來很簡(jiǎn)單,了解這些就可以上手了,剩余的有一些細(xì)節(jié)和優(yōu)化就要去官方文檔找了: https://doc.rust-lang.org/cargo/