Rust游戏开发实战
上QQ阅读APP看书,第一时间看更新

bt2-L 1.5 用Cargo来构建、检查并运行项目

在前面的1.3.3节中,我们已经用Cargo运行了一个项目。除此之外,Cargo提供了一些可以用来和程序交互的其他功能,例如,可以通过输入cargo help来查看全部功能的列表,或者输入cargo [command] --help来查看指定命令的各个选项的详细说明。用户可以实现如下操作。

(1)通过输入cargo check来快速检查项目是否可用。这将检查当前项目及其依赖项目中的基础错误。这样做通常会比完整构建一次整个项目快很多。

(2)用cargo build来编译当前项目——但是并不运行。

(3)用cargo clean来删除整个target目录(该目录是存放编译后输出文件的位置)。

Cargo还提供了一些选项来让用户自己控制构建程序时的参数。

调试构建与发布构建

当执行cargo run或者cargo build时,项目都是在调试模式下构建的。该模式下只有很少的优化,因此程序的运行速度会比正常水平慢很多。这样做可以让调试工作变得更简单,也可以让Rust告诉用户发生问题的精确位置——但代价是程序的运行速度会变慢。此外,它还会产生“调试信息”——这是一种调试工具可以读取的数据,通过它可以把错误信息和程序源代码的行号关联起来。这会导致编译出来的程序变得冗长。

你可以通过cargo run --release命令来实现在发布模式下编译并运行程序。编译器会应用多种优化算法,并且不占用额外空间来支持调试器的工作。用户会得到一个运行速度快很多并且体积小很多的程序,但是它会令排查错误变得困难重重。因此,只有真的需要发布程序时,才会再使用发布模式编译。