包龙星

每次都要敲 rustc 编译,好麻烦啊!有没有什么办法,像戚家的一锅端毒药一样,一键搞定?

雷豹

当然有!兵马未动,粮草先行。Cargo 就是我们的粮草大总管!它负责管代码、管依赖、管构建,包你满意!

第三回:粮草先行,Cargo 大总管

Rust 的编译器 rustc 就像是打铁的锤子,虽然好用,但如果你要造一艘船(大型项目),光有锤子可不行。你需要 Cargo

Cargo 是 Rust 的构建系统和包管理器。它能帮你:

1. 创建新项目 (开宗立派)

不要再手动建文件了,让 Cargo 帮你搞定:

cargo new hello_world
cd hello_world

你会发现它自动生成了:

2. 编译与运行 (操练起来)

在项目目录里,你可以发号施令:

cargo build
只编译,不运行。生成的执行文件在 target/debug/ 下。适合平时练兵。

cargo run
编译并立刻运行。一气呵成,最常用的命令!

cargo check
只检查代码有没有错,不生成文件。速度极快,适合吵架(写代码)时随时检查逻辑漏洞。

方唐镜

我想要发布我的绝世文章,让全天下人都看到,该怎么办?用 Debug 模式会被人笑话慢的!

雷豹

算你还有点羞耻心!要发布,就用 Release 模式!

3. 发布构建 (正式出征)

当你准备好上擂台了,记得加上 --release

cargo build --release

这会让编译器火力全开进行优化(虽然编译慢点),生成的程序跑得比常威逃跑还快!

4. 粮草清单详解 (Cargo.toml)

打开你的 Cargo.toml,这可是我们的账本,不能马虎:

[package]
name = "yamun"          # 项目名称
version = "0.1.0"       # 版本号
edition = "2021"        # Rust 版本 (2015/2018/2021)
authors = ["包龙星 "] # 作者 (可选)

[dependencies]
# 在这里列出你的援军 (依赖库)
rand = "0.8.5"          # 比如生成随机数
serde = { version = "1.0", features = ["derive"] } # 复杂点的写法

关键属性说明:

动手时刻:Cargo 初体验

请在你的命令行里执行以下操作,假装你正在筹备一个新的衙门:

  1. cargo new yamun (创建衙门)
  2. cd yamun (进入衙门)
  3. cargo run (升堂!)

如果你看到了 "Hello, world!",说明衙门已经开张了!

下一回:击鼓鸣冤(输出到命令行) →