Rust构建工具和包管理器Cargo

2022-03-18 16:35:05 浏览数 (1)

1. 简介

Cargo 是 Rust 的构建系统和包管理器,大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以处理很多任务,比如构建代码、下载依赖库(在 Rust 中称为「crate」)并编译这些库。

2. 使用 Cargo

2.1 创建项目

Cargo 工具创建项目的基本语法格式如下:

代码语言:javascript复制
cargo new <project>

运行上述命令后,会创建一个名为 <project> 的目录,并初始化该目录为一个仓库,其目录结构如下:

代码语言:javascript复制
.
├── .git
├── .gitignore
├── Cargo.toml
└── src
    └── main.rs
  • Cargo.toml 为当前项目的 Cargo 配置文件,采用的是 TOML 文件格式。

2.2 构建项目

Cargo 工具构建项目的基本语法格式如下:

代码语言:javascript复制
# 在项目目录下执行
cargo build

运行上述构建命令后,会在项目目录下生成一个 target 目录,该目录下的 debug 目录中包含了一些编译文件和生成的可执行文件等信息。

【注】当项目最终准备好发布时,可以使用 cargo build --release 来优化编译项目。这会在 target/release 下而不是 target/debug 下生成可执行文件。

这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。

2.3 运行项目

Cargo 工具运行项目的基本语法格式如下:

代码语言:javascript复制
# 在项目目录下执行
cargo run

运行上述运行命令后,会运行构建过程生成的可执行文件 ./target/debug/<project>

【注】如果没有构建项目直接运行 cargo run,Cargo 会先自动构建项目然后运行程序。

2.4 检查代码

Cargo 工具还提供了快速检查项目代码确保其可以编译的功能,其基本语法格式如下:

代码语言:javascript复制
# 在项目目录下执行
cargo check

cargo checkcargo build 快得多,因为它省略了生成可执行文件的步骤。因此在编写代码时只是想持续的进行代码检查,cargo check 是一个不错的选择。

2.5 查看文档

当我们在调用依赖库(crate)时,我们不知道应该从 crate 中调用那个方法,crate 的使用说明位于其文档中,所以我们需要查阅相关文档。而 Cargo 有一个很棒的功能是:运行 cargo doc --open 命令来构建所有本地依赖提供的文档,并在浏览器中打开。

附录

关于 Cargo 工具更详细的介绍参考其官方文档:

  • Rust 构建工具和包管理器:Cargo 使用文档

0 人点赞