Rust 1.16 发布,Mozilla 的编程语言

栏目: 编程语言 · Rust · 发布时间: 6年前

内容简介:Rust 1.16 发布,Mozilla 的编程语言

Rust 1.16 发布了,Rust 是一门专注于安全性,速度和并发性的系统编程语言。

Rust 1.16 新增了一个 cargo check 命令,这个新的子命令在许多情况下可加快开发工作流程。

它有什么作用呢?先来谈谈 rustc 如何编译你的代码。编译过程中有许多 “passes”,也就是说,编译器从你的源代码到生成最终的二进制文件有许多不同的步骤。通过加上  -Z time-passes 参数,可以看到每个步骤(以及它们需要多少时间和内存)

rustc .\hello.rs -Z time-passes
time: 0.003; rss: 16MB  parsing
time: 0.000; rss: 16MB  recursion limit
time: 0.000; rss: 16MB  crate injection
time: 0.000; rss: 16MB  plugin loading
time: 0.000; rss: 16MB  plugin registration
time: 0.049; rss: 34MB  expansion
<snip>

这里面包含了许多信息,但是,可以在两个大步骤中想到这个过程:首先, rustc 执行所有的安全检查,确保你的语法是正确的。第二,一旦它满足一切顺序,它将产生你最终执行的二进制代码。

事实证明,第二步需要很多的时间。而且大多数时候这不是必要的。也就是说,当你处理一些 Rust 代码时,许多开发人员将进入如下工作流程。

  1. 编写一些代码

  2. 执行 cargo build 指令确保其可以编译

  3. 如果需要重复第 1、2 步

  4. 执行 cargo test 指令以确保测试通过

  5. GOTO 1

在第二步,你从来没有真正运行你的代码。你需要的是来自编译器的反馈,而不是运行二进制代码, cargo check 支持这样的情况:它运行所有的编译器检查,但不会产生最终的二进制文件。

那到底能提速多少呢?像大多数与性能相关的问题那样,答案是 “看情况”。这里有一些不那么科学的基准:

Rust 1.16 发布,Mozilla 的编程语言

其他改进:

为了支持 cargo checkrustc 已经可以发送一种新的文件:  .rmeta 。这种文件将只包含有关特定 crate 的元数据。 cargo check 需要这个用于你的依赖,让编译器检查类型等。它对Rust Language Server也很有用,并且将来可能还有更多的工具。

另一个大的变更是删除了一个长期的诊断: 考虑使用显式的生命周期参数 ,这个诊断将会在当你有一个不正确的生命周期注释时起作用,而且编译器会判断你想表达其他意思。

本次的更新内容较多,可点击下面的链接参阅详细信息。

发行主页发行日志

下载地址:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

網絡社會之崛起

網絡社會之崛起

曼威·柯司特 / 夏鑄九、王志弘 等 / 唐山 / 2000-11 / NT$550

本書解釋了今日重塑世界的兩股強大但相互衝突的潮流:全球化與認同。資訊科技的革命以及資本主義的再結構已經引動了網絡社會,並帶來了策略,除經濟行為的全球化、工作的彈性化與不穩定,以及真實的虛擬文化。但是,伴隨著資本主義的轉化與國家主義的消亡而來的,是集體認同的表達以火力十足的方式竄起。它們挑戰了全球化中的文化單一性以及對於生活、環境的控制。曼威.柯司特在本書中描繪了社會運動的根源、目標以及效果,包括了......一起来看看 《網絡社會之崛起》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具