1. 哪些人需要学习RUST
作为一门非常新的语言(出生于2010年),RUST的出生应该就是对标了C/C++语言,宣传的特性是一种安全、高效、并发性强的编程语言。
因此对于软件开发对象包含了“系统”或“引擎”这样字样的程序员来说是最适合的一门语言。
最值得期待的是Linux系统将很有可能采用RUST,Linus Torvalds 说道:“尽管 Rust 还未真正展现出它的巨大潜力,但我想在明年,我们将开始集成开始积极使用它的驱动程序和一些甚至是主要子系统。所以这是一种需要几年才能在内核中占有重要地位的事情,但无疑,它正在逐渐塑造出这一未来。”
2. 开始
RUST是我用过setup开发环境最简单的一门语言。所有安装工作直接从官网下载一个脚本即可,当然由于操作系统的不同,这里还需要给出不同的傻瓜安装手册:
Linux系统下安装
curl --tlsv1.2 -sSf https://sh.rustup.rs | sh
可能碰到的问题:
1,脚本的可执行权限不足,如下:
Cannot execute /tmp/tmp.abclsAH0Z0/rustup-init (likely because of mounting /tmp as noexec).
Please copy the file to a location where you can execute binaries and run ./rustup-init.
只需要简单的把脚本copy到合适的地方去执行即可:
[user@host ~]$ cp /tmp/tmp.abclsAH0Z0/rustup-init ./
[user@host ~]$ ./rustup-init
等一切结束,简单运行一下命令确认安装成功:
[user@host ~]$ . .cargo/env
[user@host ~]$ rustc --version
rustc 1.78.0 (9b00956e5 2024-04-29)
update rust version:
rustup update
Windows系统下安装
Windows系统下默认的编译环境是Visual Studio,作为非人民币玩家,当然要选择免费的VS Code + gcc这样的高端配置了。
1 进入cmd模式,进行相关的环境配置
#如果需要设置代理(可选步骤,ip地址替换成你需要的代理服务器)
set http_proxy=http://10.144.1.10:8080
set https_proxy=http://10.144.1.10:8080
#使用国内镜像(可选步骤,可以ping一下几个镜像的地址选一个速度最快的)
set RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
2 下载rustup-ini.exe
https://www.rust-lang.org/zh-CN/tools/install
3 运行安装程序中注意选择如下两步选择的选项来使用VS Code和gcc:
第一次选择 3) Don't install the prerequisites
第二次选择 2) Customize installation
其他就一路return。
4 install toolchain of gcc
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu
rustup toolchain list
如同Linux一样,安装完可以检查一下运行状态:
C:\share\rust>rustc --version
rustc 1.79.0 (129f3b996 2024-06-10)
document:
https://www.rust-lang.org/zh-CN/learn
project new:
cargo new projectname
cd projectname
cargo build
add dependency:
cargo add rand
RUST lib consider: https://crates.io/
1, DB - sled https://www.jb51.net/program/317571x5v.htm
alt: BoringDB
2, SOAP -
3, xml -
4, zip/tar -
5, tls - native-tls, rustls-native-certs
COMA 3rd party libs:
expat - xml parser
gsoap - soap stack
openssl - TLS
libarchive - tar & gzip
zlib - compression
libxml2 - xml validation