温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Rust是什么意思

发布时间:2021-10-25 11:29:04 来源:亿速云 阅读:286 作者:小新 栏目:系统运维

小编给大家分享一下Rust是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Rust 是什么?

Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所有的崩溃、内存区块错误  以及数据竞争。你也许会质疑为什么我们还需要又一种这样的语言,因为已经有很多同类的语言了。这篇文章将会告诉你为什么。

安全性 vs. 控制权

Rust是什么意思

你也许见过上面的图谱。一边是  C/C++,对运行的硬件拥有更多的控制权,因此它可以让开发者通过对所生成的机器代码进行更精细的控制来优化性能。然而这不是很安全,这很容易造成内存区块错误以及像  心血漏洞 这样的安全漏洞。

另一边是像 Python、Ruby 和 JavaScript  这种没有给予开发者多少控制权但是可以创建出更安全的代码的语言。虽然这些代码可以生成相当安全并且可控的异常,但是它们不会造成内存区块错误。

在图谱中间的区域是 Java 和一些其它混合了这些特性的语言。它们提供对运行的硬件部分控制权,并且尝试尽量减少漏洞的出现。

Rust 有点不太一样,它并没有出现在这个图谱上。它同时提供给开发者安全性和控制权。

Rust 的特性

Rust 是一种像 C/C++  一样的系统编程语言,除此之外它还给予开发者对内存分配细粒度的控制。它不需要垃圾回收器。它的运行环境runtime很小,运行速度接近于在裸机上的运行。它为开发者提供了代码性能更大的保证。此外,任何了解  C/C++ 的人都能读懂以及编写 Rust 的代码。

Rust 的运行速度非常快,因为它是一种编译语言。它使用 LLVM 作为编译器的后端,并且还可以利用一大堆优化。在许多领域,它的性能都要高于  C/C++。它像 JavaScript、Ruby 和 Python 一样,与生俱来就是安全的,这意味着它们不会造成内存区块错误、野指针dangling  pointers或者空指针null pointers。

另外一个很重要的特性就是消除数据竞争。如今,大多数计算机都具有多个核心,许多线程并发运行。然而,开发者很难编写好的并行代码,因此这个特性除去了他们的后顾之忧。Rust  使用两个关键概念来消除数据竞争:

  • 所有权Ownership。每一个变量都被移动到一个新的位置,并防止通过先前的位置来引用它。每一个数据块只有一个所有者。

  • 借用Borrowing。被拥有的值可以借用,以允许在一段时间内使用。

在 Fedora 24 和 25 上使用 Rust

若要开始使用,只需安装软件包:

sudo dnf install rust

示例代码 helloworld.rs:

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

编译并执行:

rustc helloworld.rs ./helloworld

在 Fedora 上可以执行以下命令来安装***的测试版本:

sudo dnf --enablerepo=updates-testing --refresh --best install rust

以上是“Rust是什么意思”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI