入门 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)的编译时间更长,但生成的代码运行效率更高。

评论 (0)