环境配置
首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code。
Rust 编译工具:安装 Rust - Rust 程序设计语言
Visual Studio Code:Download Visual Studio Code - Mac, Linux, Windows
rust环境检测
查看rust版本
rustc --version 或者 rustc -V
查看cargo版本命令
cargo -V 或者 cargo --version
rust在线环境
链接:https://play.rust-lang.org/
rust更新
rustup update
rust卸载
rustup self uninstall
查看本地文档
rustup doc
Cargo教程
创建一个新的 Rust 项目,请使用Cargo new
cargo new hello_world
tree 可以查看目录
将会看到 Cargo 生成了两个文件和一个目录:一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件
Cargo.toml文件
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[package] 是一个片段(section)标题,表示接下来的内容是关于项目包的配置。:
name = "hello_world":指定了项目的名称为 “hello_world”。
version = "0.1.0":指定了项目的版本号为 “0.1.0”。
edition = "2021":指定了 Rust 编译器所使用的 Edition(版本),这里是 2021 Edition。
[dependencies] 部分:这个部分通常用于列出项目所依赖的外部库。在这个示例中,没有列出任何依赖项,意味着这个项目没有依赖其他外部库
构建并运行Cargo项目
cargo build
- 编译项目代码:Cargo 会根据项目根目录下的 Cargo.toml 文件中的配置信息,编译整个 Rust 项目的源代码。
- 生成可执行文件或库:根据项目类型(可执行程序或库),Cargo 会生成对应的可执行文件(通常在 target/debug 目录下)或者库文件(通常在 target/debug 目录下),这取决于项目的配置和 Cargo.toml 文件中的指定。
- 处理依赖关系:如果项目依赖了其他的 Rust crate(包),Cargo 会自动下载并编译这些依赖,以确保项目的所有依赖都被正确处理和链接。
- 检查代码:Cargo 会在编译过程中执行各种检查,包括语法检查、类型检查、错误检查等,以确保代码的质量和正确性
编译然后运行它
cargo run
window 配置rust安装源镜像设置
我们需要配置系统环境设置 RUSTUP_DIST_SERVER
(默认指向 https://static.rust-lang.org)和 RUSTUP_UPDATE_ROOT
(默认指向https://static.rust-lang.org/rustup),让其指向国内源。
# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/
配置 cargo安装源 的国内镜像源 代理源 RsProxy
C盘 用户目录下会出现 .cargo 文件夹
在 .cargo 文件夹下新建 config 文件,加入如下配置:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'sjtu'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"