内容简介: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 代码时,许多开发人员将进入如下工作流程。
-
编写一些代码
-
执行
cargo build
指令确保其可以编译 -
如果需要重复第 1、2 步
-
执行
cargo test
指令以确保测试通过 -
GOTO 1
在第二步,你从来没有真正运行你的代码。你需要的是来自编译器的反馈,而不是运行二进制代码, cargo check
支持这样的情况:它运行所有的编译器检查,但不会产生最终的二进制文件。
那到底能提速多少呢?像大多数与性能相关的问题那样,答案是 “看情况”。这里有一些不那么科学的基准:
其他改进:
为了支持 cargo check
, rustc
已经可以发送一种新的文件: .rmeta
。这种文件将只包含有关特定 crate 的元数据。 cargo check
需要这个用于你的依赖,让编译器检查类型等。它对Rust Language Server也很有用,并且将来可能还有更多的工具。
另一个大的变更是删除了一个长期的诊断: 考虑使用显式的生命周期参数
,这个诊断将会在当你有一个不正确的生命周期注释时起作用,而且编译器会判断你想表达其他意思。
本次的更新内容较多,可点击下面的链接参阅详细信息。
下载地址:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Scala面向对象编程之Trait高级编程技术实践-JVM生态编程语言实战
- 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍
- 我的“第二”编程语言
- 编程语言特性:函数
- 编程语言的巅峰
- 各种编程语言对比
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程之美:微软技术面试心得
《编程之美》小组 / 电子工业出版社 / 2018-9 / 79
《编程之美:微软技术面试心得》收集了约60道算法和程序设计的题目,这些题目大部分在微软的笔试、面试中出现过,有的曾被微软员工热烈地讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题、分析问题、解决问题,寻找更优的解法。《编程之美:微软技术面试心得》内容分为以下几个部分。 游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。 数字之魅:编程的过程实际上就是和数字及字符打交道的......一起来看看 《编程之美:微软技术面试心得》 这本书的介绍吧!