由于站主的研究方向是内存安全,一些涉及到底层的开发会用到Rust,所以浅浅入门一下。

Rust安装

Linux下Rust的安装只需要执行一条指令即可:

curl https://sh.rustup.rs -sSf | sh

由于网络问题,执行失败的话,多执行几次总会成功。
安装选项选Proceed with installation (default)即可。

执行如下命令验证Rust安装是否成功:

rustc --version
# 如果输出了版本,则表明安装成功!

Hello World!

文件命名

Rust程序的文件后缀名为.rs
文件的命名规范为下划线连接的单词,例如hello_world.rs

编译与运行

  • 编译: rustc main.rs
  • 运行: Linux下:./main
fn main(){
println!("Hello World!");
}

注:
rustc只适合简单的Rust程序,如果Rust程序文件比较多,应该用Cargo来编译。

Cargo

Cargo是Rust的构建系统和包管理工具。它的作用是构建代码、下载依赖的库、构建这些库… Cargo是在安装Rust的时候一起安装的。

常用命令

# 创建一个项目
cargo new hello_cargo

使用cargo创建的项目的目录结构为:
程序结构

cargo.toml

  • TOML(Tom’s Obvious, Minimal Language)格式,是Cargo的配置格式
  • [package],是一个区域标题,表示下方内容是用来配置包(package)的
  • [dependencies],另一个区域的开始,它会列出项目的依赖项。
  • Rust中,代码的包(或者称库)被称作crate

程序结构

  • 源代码都应该放在src目录下
  • 顶层目录可以放置:Cargo.toml、README、许可信息、配置文件和其他与程序源码无关的文件
# 构建Cargo项目
# 创建可执行文件,其路径为target/debug/hello_cargo
cargo build
  • 第一次运行cargo build会在顶层目录生成cargo.lock文件
    该文件负责追踪项目依赖的精确版本,不需要手动修改该文件
# 构建并且运行cargo项目
cargo run
  • 如果之前编译成功过,并且源码没有改变,那么就会直接运行二进制文件
# cargo check命令检查代码,确保能通过编译,但是不产生任何可执行文件
cargo check
  • cargo check比cargo build快得多,使用cargo check检查代码效率更高
# 为发布构建
cargo build --release
  • 编译时会进行优化,代码会运行的更快,但是编译时间更长
  • 会在target/release而不是target/debug生成可执行文件