欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:【Rust】簡介、安裝和編譯

柚子快報(bào)激活碼778899分享:【Rust】簡介、安裝和編譯

http://yzkb.51969.com/

文章目錄

一、Rust簡介二、Rust 安裝三、Rust 程序結(jié)構(gòu)3.1 模塊(Modules):3.2 函數(shù)(Functions):3.3 變量(Variables):3.4 控制流(Control Flow):3.5 宏(Macros):3.6 完整示例:

四、編譯

用了一個(gè)rust代碼,記錄下。

一、Rust簡介

Rust 是一種系統(tǒng)級(jí)編程語言,由 Mozilla(火狐那個(gè)) 開發(fā),并于 2010 年首次公開發(fā)布。它的設(shè)計(jì)旨在提供高性能、并發(fā)性、安全性以及開發(fā)人員友好的語法。Rust 的特點(diǎn)包括但不限于以下幾個(gè)方面:

特點(diǎn):

安全性:

Rust 最引人注目的特性之一是其強(qiáng)大的安全性。它使用一套稱為 “borrow checker” 的系統(tǒng)來在編譯時(shí)檢查數(shù)據(jù)訪問的正確性,避免了內(nèi)存溢出、空指針和數(shù)據(jù)競爭等常見的安全漏洞。 并發(fā)性:

Rust 提供了輕量級(jí)的線程(稱為 “任務(wù)”)和基于消息傳遞的并發(fā)模型。Rust 的所有權(quán)和借用系統(tǒng)使得在編寫并發(fā)代碼時(shí)更加安全和容易。 性能:

Rust 的設(shè)計(jì)目標(biāo)之一是提供與 C/C++ 相當(dāng)?shù)男阅?。它不?huì)引入運(yùn)行時(shí)開銷,直接編譯為本地機(jī)器碼,使得 Rust 適用于對(duì)性能要求較高的應(yīng)用程序。 內(nèi)存管理:

Rust 通過所有權(quán)(ownership)和借用(borrowing)的概念,實(shí)現(xiàn)了內(nèi)存安全和高效的內(nèi)存管理。所有權(quán)規(guī)則確保了在任何時(shí)刻只有一個(gè)所有者能夠訪問內(nèi)存,借用規(guī)則則允許多個(gè)只讀引用或者單個(gè)可變引用。 功能豐富的標(biāo)準(zhǔn)庫:

Rust 的標(biāo)準(zhǔn)庫提供了豐富的功能,包括支持文件操作、網(wǎng)絡(luò)通信、多線程、數(shù)據(jù)結(jié)構(gòu)、加密等方面。 開發(fā)人員友好的工具:

Cargo 是 Rust 的包管理和構(gòu)建系統(tǒng),提供了項(xiàng)目管理、依賴管理、測試等功能,極大地簡化了項(xiàng)目的管理和構(gòu)建流程。Rust 的錯(cuò)誤信息也是開發(fā)者稱贊的地方之一,友好而詳細(xì)的錯(cuò)誤提示幫助開發(fā)者更快地定位和解決問題。

適用領(lǐng)域:

系統(tǒng)編程:Rust 最初就是為了取代 C 和 C++ 而設(shè)計(jì)的,因此非常適合系統(tǒng)級(jí)編程,包括操作系統(tǒng)、嵌入式開發(fā)等領(lǐng)域。網(wǎng)絡(luò)服務(wù):由于其安全性和性能,Rust 在構(gòu)建網(wǎng)絡(luò)服務(wù)、服務(wù)器端應(yīng)用程序方面表現(xiàn)出色,比如 WebAssembly、后端服務(wù)等。游戲開發(fā):Rust 適合游戲開發(fā)領(lǐng)域,其性能和并發(fā)性使其成為實(shí)現(xiàn)高性能游戲引擎的良好選擇。工具開發(fā):由于 Rust 的穩(wěn)定性、安全性和性能,它也被廣泛用于開發(fā)系統(tǒng)工具、編譯器、分析器等。

二、Rust 安裝

安裝 Rust 時(shí),會(huì)安裝 Rust 編程語言的工具鏈和相關(guān)的工具。包括 Rust 編譯器(rustc)、包管理器 Cargo、Rust 標(biāo)準(zhǔn)庫以及一些輔助工具。具體來說,安裝 Rust 會(huì)包括以下內(nèi)容:

Rust 編程語言工具鏈:

rustc:Rust 的編譯器,負(fù)責(zé)將 Rust 代碼編譯成可執(zhí)行程序或者庫。cargo:Rust 的包管理器和構(gòu)建工具,用于創(chuàng)建、構(gòu)建、測試和發(fā)布 Rust 項(xiàng)目。 Rust 標(biāo)準(zhǔn)庫:

Rust 標(biāo)準(zhǔn)庫包含了常用的數(shù)據(jù)結(jié)構(gòu)、函數(shù)等,是 Rust 開發(fā)中常用的庫之一。 Rust 文檔和示例:

安裝 Rust 后,可以通過 rustup doc 命令來打開 Rust 的文檔,包括標(biāo)準(zhǔn)庫的文檔和 Rust 編程語言的指南。Rust 還會(huì)自帶一些示例程序,可以通過 rustup doc --book 命令來查看官方示例和教程。 Rustup 工具:

rustup 是 Rust 的工具鏈管理器,用于安裝、管理和更新 Rust 工具鏈和版本。它提供了便捷的方式來管理不同版本的 Rust 和工具鏈。 額外的工具:

在安裝 Rust 時(shí),可能會(huì)默認(rèn)安裝一些輔助工具,比如 rustfmt(Rust 代碼格式化工具)和 clippy(Rust 代碼 lint 工具)等。這些工具可以幫助你保持代碼的風(fēng)格統(tǒng)一和代碼質(zhì)量。

下載安裝程序:https://www.rust-lang.org/tools/install

運(yùn)行安裝程序,出現(xiàn): 輸入1,回車即可默認(rèn)安裝,期間會(huì)下載資源文件。

安裝完后查看版本信息:

rustc --version

cargo --version

Rust沒有專門的IDE,你可以使用VS code或者IDEA的插件。

三、Rust 程序結(jié)構(gòu)

項(xiàng)目結(jié)構(gòu):

my_project/

├── Cargo.toml # 項(xiàng)目的配置文件,包含了項(xiàng)目的元數(shù)據(jù)和依賴信息。

└── src/

├── main.rs # 主入口文件

├── lib.rs # 庫的入口文件

├── my_module.rs # 自定義模塊文件

└── my_module_test.rs # 測試文件

Rust 程序的程序結(jié)構(gòu)包括了模塊(Modules)、函數(shù)(Functions)、變量(Variables)、控制流(Control Flow)等部分。下面是 Rust 程序的基本結(jié)構(gòu)和各個(gè)部分的詳細(xì)介紹:

3.1 模塊(Modules):

Rust 中的模塊用于組織代碼,將相關(guān)的功能組織在一起。一個(gè) Rust 程序通常由一個(gè)主模塊(main.rs)和多個(gè)子模塊組成。 使用 mod 關(guān)鍵字定義模塊,模塊可以嵌套。 示例: // 定義一個(gè)模塊

mod my_module {

// 在模塊中定義函數(shù)

pub fn hello() {

println!("Hello from my_module!");

}

}

// 在主函數(shù)中使用模塊中的函數(shù)

fn main() {

my_module::hello();

}

3.2 函數(shù)(Functions):

Rust 中的函數(shù)使用 fn 關(guān)鍵字定義,函數(shù)可以有參數(shù)和返回值。 函數(shù)的參數(shù)和返回值必須指定類型。 示例: // 定義一個(gè)函數(shù)

fn add(a: i32, b: i32) -> i32 {

a + b

}

// 調(diào)用函數(shù)

let result = add(5, 10);

println!("Result: {}", result); // 輸出:Result: 15

3.3 變量(Variables):

Rust 中的變量使用 let 關(guān)鍵字聲明,變量默認(rèn)是不可變的(immutable)。 使用 mut 關(guān)鍵字可以聲明可變變量。 示例: // 聲明不可變變量

let x = 5;

// x = 10; // 錯(cuò)誤!不可變變量不能修改

// 聲明可變變量

let mut y = 10;

y = 15; // 可變變量可以修改

Rust 中常見的變量類型:

類型描述大小i8有符號(hào) 8 位整數(shù)1 字節(jié)i16有符號(hào) 16 位整數(shù)2 字節(jié)i32有符號(hào) 32 位整數(shù)(默認(rèn)類型)4 字節(jié)i64有符號(hào) 64 位整數(shù)8 字節(jié)u8無符號(hào) 8 位整數(shù)1 字節(jié)u16無符號(hào) 16 位整數(shù)2 字節(jié)u32無符號(hào) 32 位整數(shù)4 字節(jié)u64無符號(hào) 64 位整數(shù)8 字節(jié)isize有符號(hào)整數(shù),與指針大小相同平臺(tái)相關(guān)usize無符號(hào)整數(shù),與指針大小相同平臺(tái)相關(guān)f32單精度浮點(diǎn)數(shù)4 字節(jié)f64雙精度浮點(diǎn)數(shù)(默認(rèn)類型)8 字節(jié)bool布爾類型,true 或 false1 字節(jié)char字符類型4 字節(jié)()空類型(Unit 類型,類似于 void)0 字節(jié)str字符串類型(不可變)不定長String字符串類型(可變,堆分配)不定長&str字符串切片引用(不可變)不定長&String字符串引用(不可變)不定長Vec動(dòng)態(tài)數(shù)組類型(可變長度數(shù)組)不定長Option可選值類型,用于處理可能為 None 的值不定長Result結(jié)果類型,用于處理可能出錯(cuò)的操作不定長Tuple元組類型,固定長度的不同類型值的組合不定長Array數(shù)組類型,固定長度的相同類型值的集合固定長度

3.4 控制流(Control Flow):

Rust 中的控制流語句包括 if 表達(dá)式、循環(huán)和匹配模式(match)。 if 表達(dá)式: let number = 7;

if number < 5 {

println!("Number is less than 5");

} else {

println!("Number is greater than or equal to 5");

}

while 循環(huán): let mut count = 0;

while count < 5 {

println!("Count: {}", count);

count += 1;

}

for 循環(huán): for number in 1..=5 {

println!("Number: {}", number);

}

match表達(dá)式: let x = 5;

match x {

1 => println!("One"),

2 => println!("Two"),

_ => println!("Other"),

}

3.5 宏(Macros):

Rust 中的宏允許你編寫類似函數(shù)的代碼來生成代碼。 Rust 內(nèi)置了一些常用的宏,比如 println! 和 vec! 等。 你也可以自定義宏。 示例: macro_rules! greet {

() => {

println!("Hello, World!");

};

}

greet!(); // 調(diào)用宏

3.6 完整示例:

// 定義一個(gè)模塊

mod my_module {

// 在模塊中定義函數(shù)

pub fn hello() {

println!("Hello from my_module!");

}

}

// 定義一個(gè)函數(shù)

fn add(a: i32, b: i32) -> i32 {

a + b

}

// 主函數(shù)

fn main() {

my_module::hello(); // 調(diào)用模塊中的函數(shù)

let result = add(5, 10); // 調(diào)用函數(shù)

println!("Result: {}", result); // 輸出:Result: 15

let x = 5; // 定義不可變變量

let mut y = 10; // 定義可變變量

y = 15; // 修改可變變量的值

let number = 7;

if number < 5 {

println!("Number is less than 5");

} else {

println!("Number is greater than or equal to 5");

}

let mut count = 0;

while count < 5 {

println!("Count: {}", count);

count += 1;

}

for number in 1..=5 {

println!("Number: {}", number);

}

let x = 5;

match x {

1 => println!("One"),

2 => println!("Two"),

_ => println!("Other"),

}

macro_rules! greet {

() => {

println!("Hello, World!");

};

}

greet!(); // 調(diào)用宏

}

四、編譯

以使用 Cargo 這個(gè) Rust 的包管理器和構(gòu)建工具來編譯程序

打開終端(命令行),進(jìn)入到項(xiàng)目目錄。 運(yùn)行:

cargo build

這會(huì)在項(xiàng)目目錄下生成一個(gè) target/ 目錄,其中包含編譯生成的可執(zhí)行文件。

編譯完成后,在終端中運(yùn)行生成的可執(zhí)行文件:

./target/debug/my_project

如果是庫項(xiàng)目,需要將庫文件引入其他 Rust 項(xiàng)目中,或者進(jìn)行單元測試等。

如果需要進(jìn)行發(fā)布版的編譯(帶有優(yōu)化):

cargo build --release

這會(huì)在 target/ 目錄下生成一個(gè) release/ 目錄,其中包含優(yōu)化后的可執(zhí)行文件。這個(gè)可執(zhí)行文件在運(yùn)行時(shí)可能會(huì)更快,但編譯時(shí)間會(huì)更長。

附加命令

cargo run: 編譯并運(yùn)行項(xiàng)目。如果你不需要單獨(dú)編譯,可以直接使用這個(gè)命令來編譯和運(yùn)行項(xiàng)目: cargo check: 檢查代碼是否可以編譯,但不生成可執(zhí)行文件。這個(gè)命令可以用于快速檢查代碼的語法和類型錯(cuò)誤:

注意事項(xiàng)

在使用 Cargo 編譯 Rust 程序時(shí),它會(huì)自動(dòng)下載并管理依賴項(xiàng)。如果你使用的是 IDE(如 Visual Studio Code),通常也會(huì)有相應(yīng)的插件支持 Cargo 的編譯和調(diào)試。

柚子快報(bào)激活碼778899分享:【Rust】簡介、安裝和編譯

http://yzkb.51969.com/

精彩內(nèi)容

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19575676.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄