1.2 安装Rust

参考官网安装教程:https://www.rust-lang.org/

1.3 Hello, World

Rust源文件的后缀为 main.rs

Hello-World 程序

1
2
3
fn main() {
println!("Hello, World!");
}
  • fn 意为function
    • 与C++中的int main() {}不同,Rust中的main()函数没有返回值,它也是每个Rust程序最先执行的代码
  • println!是一个宏而非函数,用于输出字符串,其中ln意为line
    • 它是一个Rust macro(宏)
    • 上述程序中,该函数前的缩进是4个空格而不是tab
    • 与C++一样,每一行代码以;结尾

编译方式

1
rustc main.rs
  • rustc中的c意为compiler
  • rustc只适合编译简单的Rust程序,对于复杂的程序,需要使用cargo

编译成功后会生成二进制文件main,与源文件main.rs同名

运行二进制文件

1
./main

1.4 Hello, Cargo

Cargo是Rust的构建系统和包管理工具(谁懂CMake的痛……)

  • 构建代码、下载依赖库、构建库

在终端可以通过命令cargo --version查看Cargo版本


使用Cargo创建项目

1
cargo new project_name

随后Cargo将生成名为project_name的文件夹,并包含

  • 文件Cargo.toml
  • 文件夹src
    • 包含源文件main.rs
    • 所有的源文件都应当放在src

Cargo.toml

后缀toml是“Tom’s Obvious, Minimal Language”的简称,是Cargo的配置格式

1
2
3
4
5
6
[package]
name = "project_name"
version = "0.1.0"
edition = "2021"

[dependencies]
  • 区域标题[package]表示下方内容是用来配置package的
  • [dependencies]列出项目的依赖项

在Rust中,调的库或者包被称作“crate”,中文意为“板条箱”


Cargo构建项目

在项目目录下,使用命令

1
cargo build

来构建项目。

  • 如果是第一次构建,将会生成cargo.lock文件,该文件负责追踪项目版本,不需要手动修改

此外,上述命令还会生成二进制文件target/debug/project_name,与rustc命令一致


Cargo构建和运行项目

使用命令

1
cargo run

可以构建并立即运行二进制文件

  • 如果之前编译成功过且源代码没有改变,将直接运行二进制文件

Cargo检查代码

使用命令

1
cargo check

可以检查代码来确保编译,但不会生成可执行文件

  • 相比cargo buildcargo check的执行速度更快,用于开发过程中来检查代码问题
  • 只有在需要时或项目开发结束时,才调用cargo build来执行程序

Cargo构建和发布项目

注意cargo build命令主要用于个人调试使用,如果是为发布而构建,那么一般执行

1
cargo build --release
  • 该命令的编译时间更长,同时将优化代码
  • 可执行文件将生成在target/release而不是target/debug