入门 The Cargo Team 2026-09-13 15:48:21 · 0 阅读
第4章 创建新 Package
用 Cargo 创建新的 包,请使用 cargo new:
$ cargo new hello_world --bin
这里传入 --bin 是因为我们要构建一个二进制程序;如果要做库,则传入 --lib。默认情况下,这还会初始化一个新的 git 仓库。若不需要,可传入 --vcs none。
来看看 Cargo 生成了什么:
$ cd hello_world
$ tree .
.
├── Cargo.toml
└── src
└── main.rs
1 directory, 2 files
仔细看一下 Cargo.toml:
[package]
name = "hello_world"
version = "0.1.0"
edition = "2024"
[dependencies]
这被称为 清单,包含了 Cargo 编译你的包所需的所有元数据。该文件使用 TOML 格式(读作 /tɑməl/)。
src/main.rs 的内容如下:
fn main() {
println!("Hello, world!");
}
Cargo 为你生成了一个“你好世界”程序,即一个 二进制 crate。让我们来编译它:
$ cargo build
Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)
然后运行:
$ ./target/debug/hello_world
Hello, world!
也可以使用 cargo run 一步完成编译和运行(如果自上次编译以来没有做任何更改,就不会看到 Compiling 这一行):
$ cargo run
Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)
Running `target/debug/hello_world`
Hello, world!
此时你会发现多了一个新文件 Cargo.lock。它记录了依赖信息。目前尚无依赖,所以内容没什么特别。
准备发布时,可以使用 cargo build --release 开启优化来编译文件:
$ cargo build --release
Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)
cargo build --release 会将生成的二进制文件放在 target/release 目录,而不是 target/debug。
调试模式(debug mode)是开发阶段的默认选项。由于编译器不进行优化,编译速度更快,但程序运行速度较慢。发布模式(release mode)的编译时间更长,但生成的代码运行效率更高。