Hello, Cargo!
Cargo 是 Rust 的构建系统和包管理器。大多数 Rustaceans 使用这个工具来管理他们的 Rust 项目,因为 Cargo 会为您处理很多任务,例如构建代码、下载代码所依赖的库以及构建这些库。(我们称你的代码需要 依赖的库。)
使用 Cargo 创建项目
让我们使用 Cargo 创建一个新项目,看看它与我们原来的“Hello, world!”有何不同。项目。导航回您的项目目录(或您决定存储代码的任何位置)。然后,在任何操作系统上,运行以下命令:
cargo new hello_cargo
cd hello_cargo
第一个命令创建了一个名为hello_cargo的新目录。我们将项目命名为hello_cargo,Cargo 在同名目录中创建其文件。
进入hello_cargo目录并列出文件。您会看到 Cargo 为我们生成了两个文件和一个目录:一个Cargo.toml文件和一个 src目录,其中包含一个main.rs文件。
它还初始化了一个新的 Git 存储库以及一个.gitignore文件。cargo new如果您在现有的 Git 存储库中运行,则不会生成 Git 文件;您可以使用cargo new --vcs=git
建立和运行项目
建立
cargo build
如果一切顺利,Hello, world!应该打印到终端。第一次运行cargo build也会导致 Cargo 在顶层创建一个新文件:Cargo.lock。该文件跟踪项目中依赖项的确切版本。这个项目没有依赖,所以文件有点稀疏。您永远不需要手动更改此文件;Cargo 为您管理其内容。
生成可执行程序
我们刚刚构建了一个项目cargo build并使用 运行它 ./target/debug/hello_cargo,但我们也可以使用它cargo run来编译代码,然后在一个命令中运行生成的可执行文件:
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/hello_cargo`
Hello, world!
check
Cargo 还提供了一个名为cargo check. 此命令快速检查您的代码以确保它可以编译但不会生成可执行文件:
$ cargo check
Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs
为发布而构建
当您的项目最终准备好发布时,您可以使用cargo build --release优化来编译它。此命令将在target/release而不是target/debug中创建可执行文件。优化使您的 Rust 代码运行得更快,但打开它们会延长程序编译所需的时间。这就是为什么有两种不同的配置文件的原因:一个用于开发,当您想要快速且经常重建时,另一个用于构建您将提供给用户的最终程序,该程序不会重复重建并且运行速度与可能的。如果您要对代码的运行时间进行基准测试,请务必使用target/releasecargo build --release中的可执行文件运行和基准测试。