这篇博客将介绍使用 cargo 来创建,测试,编译,运行工程。在使用 cargo 之前,我们先来说一下不用 cargo 的情况下,直接用 rustc 编译代码。

使用 rustc 编译代码

首先我们新建一个文件 hello.rs,里面写上下面的代码

1
2
3
fn main() {
println!("hello rust!");
}

然后在终端使用命令 rustc hello.rs 编译代码,之后可以看到在 hello.rs 所在目录生成了一个名为 hello 的可执行文件,运行 hello 这个可执行文件,将输出 hello rust! ,好了,你已经学会了使用 rustc 编译 rust 代码。

使用 cargo

cargo 是 rust 的构建系统和包管理器。使用 cargo 可以很方便的构建代码,下载依赖库,测试代码等。所以大多数情况,推荐使用 cargo 来构建项目。

常用命令

  • cargo new first-project
    创建一个新项目,这里的项目名使用 first-project, 可以自定义

  • cargo build
    构建项目,这个命令需要先 cd first-project 进入到项目目录下,然后再运行。运行后会生成项目的可执行文件。

  • cargo run
    运行构建好的项目。也可以不用 cargo build, 直接 cargo run,cargo如果发现项目没有编译,或者有改变,将自动重新去build,然后自动运行。

  • cargo build --release
    构建发布版本

  • cargo run --release
    运行发布版本

  • cargo checkcargo check --release
    这个是用来快速检查代码确保可以编译,但并不产生可执行文件。这个命令比cargo build 快的多。如果项目比较大,编译时间比较长,可以先用这个命令检查一个代码是否能够通过编译。

说明

  • cargo build 时,如果 cargo 发现已经 build 过,但是代码没有改变,将不会再次 build。
  • 查看 first-project 会发现有几个自动生成的文件
    • Cargo.toml 这个是项目的配置文件,项目的一些依赖,也都配置在这里面,这个后面用到时再细说。
    • Cargo.lock 这个是cargo用来记录项目依赖的实际版本,不要管就OK。
    • src目录是代码目录,里面的 main.rs 是项目的入口。