由于研究方向是内存安全,一些涉及到底层的开发会用到Rust,所以浅浅入门一下。
Rust安装
Linux下Rust的安装只需要执行一条指令即可:
代码语言:javascript复制curl https://sh.rustup.rs -sSf | sh
由于网络问题,执行失败的话,多执行几次总会成功。 安装选项选Proceed with installation (default)即可。
执行如下命令验证Rust安装是否成功:
代码语言:javascript复制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的时候一起安装的。
常用命令
代码语言:javascript复制# 创建一个项目
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生成可执行文件