自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

當(dāng)Rust遇上Fedora會怎樣

系統(tǒng) Linux
Rust 是一種系統(tǒng)編程語言,它運行速度驚人,并且可以避免幾乎所有的崩潰、內(nèi)存區(qū)塊錯誤 以及數(shù)據(jù)競爭。你也許會質(zhì)疑為什么我們還需要又一種這樣的語言,因為已經(jīng)有很多同類的語言了。這篇文章將會告訴你為什么。

[[174047]]

Rust 是什么?

Rust 是一種系統(tǒng)編程語言,它運行速度驚人,并且可以避免幾乎所有的崩潰、內(nèi)存區(qū)塊錯誤 以及數(shù)據(jù)競爭。你也許會質(zhì)疑為什么我們還需要又一種這樣的語言,因為已經(jīng)有很多同類的語言了。這篇文章將會告訴你為什么。

安全性 vs. 控制權(quán)

你也許見過上面的圖譜。一邊是 C/C++,對運行的硬件擁有更多的控制權(quán),因此它可以讓開發(fā)者通過對所生成的機器代碼進(jìn)行更精細(xì)的控制來優(yōu)化性能。然而這不是很安全,這很容易造成內(nèi)存區(qū)塊錯誤以及像 心血漏洞 這樣的安全漏洞。

另一邊是像 Python、Ruby 和 JavaScript 這種沒有給予開發(fā)者多少控制權(quán)但是可以創(chuàng)建出更安全的代碼的語言。雖然這些代碼可以生成相當(dāng)安全并且可控的異常,但是它們不會造成內(nèi)存區(qū)塊錯誤。

在圖譜中間的區(qū)域是 Java 和一些其它混合了這些特性的語言。它們提供對運行的硬件部分控制權(quán),并且嘗試盡量減少漏洞的出現(xiàn)。

Rust 有點不太一樣,它并沒有出現(xiàn)在這個圖譜上。它同時提供給開發(fā)者安全性和控制權(quán)。

Rust 的特性

Rust 是一種像 C/C++ 一樣的系統(tǒng)編程語言,除此之外它還給予開發(fā)者對內(nèi)存分配細(xì)粒度的控制。它不需要垃圾回收器。它的運行環(huán)境runtime很小,運行速度接近于在裸機上的運行。它為開發(fā)者提供了代碼性能更大的保證。此外,任何了解 C/C++ 的人都能讀懂以及編寫 Rust 的代碼。

Rust 的運行速度非???,因為它是一種編譯語言。它使用 LLVM 作為編譯器的后端,并且還可以利用一大堆優(yōu)化。在許多領(lǐng)域,它的性能都要高于 C/C++。它像 JavaScript、Ruby 和 Python 一樣,與生俱來就是安全的,這意味著它們不會造成內(nèi)存區(qū)塊錯誤、野指針dangling pointers或者空指針null pointers。

另外一個很重要的特性就是消除數(shù)據(jù)競爭。如今,大多數(shù)計算機都具有多個核心,許多線程并發(fā)運行。然而,開發(fā)者很難編寫好的并行代碼,因此這個特性除去了他們的后顧之憂。Rust 使用兩個關(guān)鍵概念來消除數(shù)據(jù)競爭:

  • 所有權(quán)Ownership。每一個變量都被移動到一個新的位置,并防止通過先前的位置來引用它。每一個數(shù)據(jù)塊只有一個所有者。
  • 借用Borrowing。被擁有的值可以借用,以允許在一段時間內(nèi)使用。

在 Fedora 24 和 25 上使用 Rust

若要開始使用,只需安裝軟件包:

  1. sudo dnf install rust 

示例代碼 helloworld.rs:

  1. fn main() { 
  2.     println!("Hello, Rust is running on Fedora 25 Alpha!"); 

編譯并執(zhí)行:

  1. rustc helloworld.rs 
  2. ./helloworld 

在 Fedora 上可以執(zhí)行以下命令來安裝***的測試版本:

  1. sudo dnf --enablerepo=updates-testing --refresh --best install rust 
責(zé)任編輯:武曉燕 來源: Linux中國
相關(guān)推薦

2016-10-21 15:57:39

Rust編輯語言Fedora

2020-08-17 17:16:21

5G網(wǎng)絡(luò)技術(shù)

2017-03-03 13:30:08

IT服務(wù)管理ITSMIBM

2022-08-29 20:13:28

物聯(lián)網(wǎng)IPV6

2016-11-04 21:46:38

云存儲

2015-06-30 15:18:04

2020-07-03 19:20:35

區(qū)塊鏈云計算數(shù)字經(jīng)濟

2018-11-12 13:27:12

教育區(qū)塊鏈學(xué)習(xí)

2013-05-22 09:33:09

交互設(shè)計設(shè)計時間

2022-02-24 16:15:16

OpenHarmon鴻蒙OpenEuler

2022-08-04 13:43:52

人工智能文藝創(chuàng)作詩歌

2018-06-05 13:33:16

SDN5GNFV

2017-06-28 11:34:55

銳捷 醫(yī)療 物聯(lián)網(wǎng)

2022-01-18 10:36:51

人工智能AI元宇宙

2015-01-07 15:49:21

大數(shù)據(jù)SSD

2017-08-18 14:47:31

DDD微服務(wù)架構(gòu)

2017-05-16 14:38:25

2013-11-08 09:15:32

大數(shù)據(jù)平板電腦

2009-03-21 16:43:29

SOA虛擬化IT

2011-03-16 14:51:35

點贊
收藏

51CTO技術(shù)棧公眾號