Skip to main content

C1 概述

https://doc.rust-lang.org/book/

基于 Rust 1.81.0(2024-09-04)阅读整理.

简介

Rust 的特点:

  1. 编译器为代码"把关", 同时提供包管理器和构建系统 Cargo, 代码格式化工具 Rustfmt, 代码分析器 rust-analyzerclippy.
  2. Rust 坚持"零开销抽象"原则, 运行速度可以得到最大保证.

第一章主要内容

  1. 安装 Rust 略.
  2. 编写 Hello World 程序
  3. 使用 cargo 命令进行包管理和构建.

开始开发

使用 cargo new 命令可以创建 exec 或 lib, 使用 cargo build 编译, 使用 cargo run 运行.

此外, 如果在事先创建的目录中初始化一个 Cargo.toml 文件, 可以使用 cargo init 命令.

Rust 程序总是从 main 函数开始执行, 典型的 main 函数如下所示:

fn main() {
println!("Hello World");
}

其中 println! 为 Rust 宏.

Cargo 简介

Cargo 是 Rust 的包管理器和构建系统, 用于程序的最终构建, 下载依赖, 编译依赖.

Rust 程序的各项配置通过 Cargo.toml 配置文件进行, 典型的 Cargo.toml 文件内容如下所示:

[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

其中 [package] 表示 package section 头, 下面跟随的内容是包的整体配置, 上述配置三行分别表示 包名, 包版本号, Rust 版本.

[dependencies] 是依赖列表 section 头, 下方可以配置所有的依赖. Rust 中代码的集合称为 crate, 依赖列表也即依赖的 crate 列表.

Cargo 默认当前 crate 的代码都在和 Cargo.toml 同级的 src 目录中(workspace 除外).

Cargo 还提供了一个命令 cargo check, 用于透过编译器检查代码中包含的可能错误, 它的速度比 cargo build 快得多, 且给出的错误信息和 cargo build 过程中提供的一致.

执行 cargo build 时, Cargo 会将产物放到工程根目录下的 target/编译配置名(如 debug) 目录中(若希望编译 release 配置产物, 可使用 cargo build --release 进行).

C1 完结, C2 待续.