Rust 序章
Rust 特性
高性能
Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
可靠性
Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。
生产力
Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。
Rust 安装
这里提供windows10环境和windows10 WSL2环境的下载和安装方法,Linux和MacOS请另寻门路。
windows10
由于 rust 并没有提供编译工具链,这里使用 mingw 和 gcc 的编译器,想要微软的直接下载那大型Visual Studio或者rust提示的微软工具包。
mingw 的编译器存放在sourceforge,64位系统下载 x86_64-posix-seh,这是离线包,32位系统的我不知道去哪下载,都0202年了,不会有人在用32位系统吧,不会吧?不会吧?不会吧?
下载好后,将mingw扔到C盘目录或者自定义目录,去设置环境变量:
安装成功后 gcc --version
出现信息基本是安装成功了
去官网下载 Rustup 安装包,依旧有64位和32位
安装之前,先在环境变量加上一些变量(用户变量或系统变量):
环境变量 | 值 | 备注 |
---|---|---|
CARGO_HOME | E:\tools\rust.cargo | .cargo目录位置 |
RUSTUP_HOME | E:\tools\rust.rustup | .rustup目录位置(后期容量巨大) |
RUSTUP_DIST_SERVER | https://mirrors.ustc.edu.cn/rust-static | 中科大Rust源(Rust跟Go一样国外依旧卡的动不了) |
RUSTUP_UPDATE_ROOT | https://mirrors.ustc.edu.cn/rust-static/rustup | 同上 |
Path | %CARGO_HOME%\bin | cargo运行目录 |
操作完之后,运行rustup-init.exe,界面如下:
大致意思是你当前没有msvc工具包,去地址下载,我们之前下了mingw,所以不需要管他,输入y,下一步:
选项
- 根据当前配置安装
- 修改当前配置
- 取消安装
选2,我们不需要msvc编译工具,接下来是问你
Default host triple?
x86_64-pc-windows-gnu
Default toolchain?(stable/beta/nightly/none)
stable
Profile (which tools and data to install)? (minimal/default/complete)
default
Modify PATH variable? (y/n)
y
输入完,回到当前画面,选1,然后等待下载。
下载完后,命令行全关,再打开,输入
# cargo -V
cargo 1.45.0 (744bd1fbb 2020-06-15)
# rustup --version
rustup 1.22.1 (b01adbbc3 2020-07-08)
windows10的到这里就全部安装成功了!
windows10 WSL2
- 开启Linux子系统、虚拟机平台
- 安装WSL2内核更新包:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
- 去Microsoft Store下载Ubuntu20.04LTS
- 调起cmd输入
wsl --set-default-version 2
配置 Rust 直接参考官方教程就行了,不过可能需要临时换个源来加速安装:
# 镜像加速,使用的是中科大的源,速度很快
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# 安装命令,后续选项一般默认就好了
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 添加到 path
source $HOME/.cargo/env
更改工具链的源,添加如下内容到 ~/.cargo/config 文件中(没有就创建)
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成任一镜像源
replace-with = 'tuna'
# replace-with = 'ustc'
# replace-with = 'sjtu'
# replace-with = 'rustcc'
# 清华大学
[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"
需要注意的是,尽量不要直接修改 ~/.cargo/config 文件,可能会因为换行符导致 cargo 无法读取……可以使用如下命令导入
cat >> ~/.cargo/config
# 这里粘贴你的配置文件
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 按下 Ctrl+D 结束
Rust cargo run 需要 gcc g++ 依赖
sudo apt-get update
sudo apt-get upgrade
sudo apt install gcc g++ -y