文章目录
- 安装 Rust
- 查看是否安装成功
- 更新与卸载 Rust
- 本地文档
- 开发工具
- Hello World
- 编写 Rust 程序
- 编译与运行 Rust 程序
- Rust 程序解剖
- 编译和运行是单独的两步
- Hello Cargo
- 使用 Cargo 创建项目
- Cargo.toml
- src/main.rs
- 构建Cargo 项目
- 构建和运行cargo 项目
- cargo check
- 为发布构建
安装 Rust
- 官网:https://www.rust-lang.org/
- Linux or Mac:
- curl https://rustup.rs -sSf | sh
- Windows: 按官网指示操作
- Windows Subsystem for Linux:
- curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
查看是否安装成功
rustc --version
更新与卸载 Rust
- 更新 Rust
- rustup update
- 卸载 Rust
- rustup self uninstall
本地文档
- 安装Rust时,会在本地安装文档,可离线浏览
- 运行
rustup doc
可在浏览器打开本地文档
开发工具
- Visual Studio Code
- Rust 插件
- Clion(Intellij Idea 系列)
- Rust 插件
Hello World
新建文件夹 mkdir hello_world
进入文件夹 cd h*
使用 VS Code 打开 code .
编写 Rust 程序
- 程序文件后缀名:rs
- 文件命名规范:hello_world.rs
fn main(){
println!("Hello World");
}
编译与运行 Rust 程序
- 编译:rustc main.rs
编译成功了!
可以看到VS Code 下多了两个文件,分别是main.exe和main.pdb。 - 运行:
- Windows:.\main.exe
- Linux/mac:./main
Rust 程序解剖
- 定义函数:fn main() { }
- 没有参数,没有返回值
- main函数:是每个Rust可执行程序最先运行的代码
- 打印文本:println!(“Hello,world!”)
- Rust 的缩进是4个空格,而不是Tab
- println! 是一个Rust macro(宏)
- 如果是函数,就没有 !
- “Hello World”是字符串,它是println! 的参数
- 此行代码以 ; 结尾
编译和运行是单独的两步
- 运行 Rust 程序之前必须先编译,命令为:rustc 源文件名
- rustc main.rs
- 编译成功后,会先生成一个二进制文件
- 在 Windows 上还会生成一个 .pdb 文件,里面包含调试信息。
- Rust 是 ahead-of-time 编译的语言
- 可以先编译程序,然后把可执行文件交给别人运行(无需安装 Rust)
- rustc 只适合简单的 Rust 程序…
Hello Cargo
- cargo 是Rust的构建系统和包管理工具
- 构建代码、下载依赖的库、构建这些库
- 安装Rust 时会安装 Cargo
- cargo --version
使用 Cargo 创建项目
- 创建项目:cargo new hello_cargo
- 项目名称也是 hello_cargo
- 会创建一个新的目录hello_cargo
- Cargo.toml
- src 目录
- main.rs
- 初始化了一个新的Git仓库 .gitignore
- 可以使用其他的VCS或不使用VCS:cargo new 时使用 --vcs 这个flag
Cargo.toml
- TOML(Tom’s Obvious,Minial Language)格式,是Cargo的配置格式
- [package] 是一个区域标题,表示下方内容是用来配置包(package)的
- name 项目
- version 项目版本
- authors 项目作者
- edition 使用 Rust 版本
- [dependencies] 另一个区域的开始,它会列出项目的依赖项
- 在 Rust 里面,代码的包称作 crate
src/main.rs
- cargo 生成的main.rs 在 src 目录下
- 而Cargo.toml 在项目顶层下
- 源代码都应该在src 目录下
- 顶层目录可以放置:README、许可信息、配置文件和其他与程序源码无关的文件
- 如果创建项目时没有使用cargo,也可以把项目转化为使用cargo:
- 把源代码文件移动到src下
- 创建Cargo.toml 并填写响相应的配置
构建Cargo 项目
- cargo build
- 创建可执行文件:target/debug/hello_cargo 或 target\debug\hello_cargo.exe(Windows)
- 运行可执行文件:./target/debug/hello_cargo或 .\target\debug\hello_cargo.exe(Windows)
- 第一次运行cargo build会在顶层目录生成cargo.lock文件
- 该文件负责追踪项目依赖的精确版本
- 不需要手动修改该文件
构建和运行cargo 项目
- cargo run 编译代码 + 执行结果
- 如果之前编译成功过,并且源代码没有改变,那么就会执行运行二进制文件
cargo check
- cargo check 检查代码,确保能通过编译,但不产生任何可执行文件
- cargo check 要比cargo build 快很多
- 编写代码时可以连续反复使用cargo check 检查代码,提高效率
为发布构建
- cargo build --release
- 编译时会进行优化
- 代码会运行的更快,但编译时间更长
- 会在target/release 而不是 target/debug 生成可执行文件
- 两种配置
- 一个开发
- 一个正式发布
建议:尽量使用 Cargo。