学 Rust,收费拿树莓派
本次学习Rust真是从0开始,之前从未应用过虚拟机,也从未独立搭建过Docker环境;废话不多说,咱们开始吧
# Rust 三问
Rust是什么?
Rust 是一门零碎编程语言(Systems Programming Language),兼顾平安(Safety)、性能(Speed)和并发(Concurrency)。
Rust能够用来干啥?
Rust作为一门底层的零碎编程语言,实践上,应用 C/C++ 的畛域都能够应用Rust实现,例如对硬件须要精密管制的嵌入式编程、对性能要求极高的应用软件(数据库引擎、浏览器引擎,3D渲染引擎等)。
Rust和其余同类型的语言有什么劣势?
绝对于 C/C++ 的系统性缺点(内存治理不当造成的安全漏洞),Rust通过所有权(Ownership)机制在编译期间确保内存平安,无需垃圾回收(Garbage Collection, GC),也不须要手动开释内存。
# 搭建Rust环境的整体思路
- 办法A:
如果是Win7/8 能够通过部署虚拟机,虚拟机再装置 Ubuntu Server 20.04 TLS和Rust,如果是Win10则能够抉择在利用市场装置Ubuntu Server 20.04 TLS。 - 办法B:
应用 Docker
这里我应用的是Ubuntu虚拟机搭建Rust。
# 虚拟机Ubuntu环境搭建Rust
# Install Rust# 既然咱们要用 Rust 写函数,也须要装置 Rust 语言的编译器与工具。# 如果感觉慢,能够应用中科大镜像,应用办法请自行搜寻$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh$ source $HOME/.cargo/env# Install Node.js$ curl -sL https://deb.nodesource.com/setup_14.x | bash$ apt-get install -y nodejs# Install ssvmup toolchain# 最初,ssvmup 工具主动执行构建过程并生成所有工件,使 Node 应用程序能够轻松调用 Rust 函数。同样,须要装置 ssvmup 依赖项。$ npm install -g ssvmup # Append --unsafe-perm if permission denied# OS dependencies for SSVM$ sudo apt-get update$ sudo apt-get -y upgrade$ sudo apt install build-essential curl wget git vim libboost-all-dev# Install the nodejs addon for SSVM$ npm install ssvm
# 第一个Rust程序
fn main() { let txt = "Hello, world!"; println!("I say : {}", txt);}
应用fn
申明函数,和JavaScript
倒是大不相同。main()
是Rust
程序的默认入口,println!
示意打印文本到控制台。
Rust
输入文字的形式次要有两种:println!()和print!()。这两个"函数"都是向命令行输入字符串的办法,区别仅在于前者会在输入的最初附加输入一个换行符。
# 我做了什么
做了一个九九乘法表,哈哈哈!最终代码:GitHub
# 遇到的问题
Q:Win10 Linux子系统运行命令 rust init,速度太慢
把脚本中的 RUSTUP_UPDATE_ROOT 变量改为中国科学技术大学的镜像
# 中国科学技术大学RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-staticRUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
Q:Win10 Linux子系统运行命令 rust init,提醒异样
thread 'main' panicked at 'assertion failed: `(left == right)...thread panicked while panicking. aborting.Illegal instruction (core dumped)
对于此异样的探讨:
- rustup panic with WSLv1 + glibc 2.31 · Issue #2245 · rust-lang/rustup · GitHub
- 在Linux的Windows子系统中的Ubuntu 20.04上装置rust
- 在WSL2(Windows10)的Ubuntu中构建Rust语言开发环境
解决办法:
- use older linux versions
2020年8月24日,大陆区微软商店中只有Ubuntu 20.04,而且升高版本的话也与本次课题举荐的版本不符了。 - some users report that exporting RUSTUP_IO_THREADS=1 mitigates the problem
应用这个命令,没有再提醒异样,但再执行curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
却不会有任何信息和进度展现 - use WSLv2
2020年8月24日,没有胜利,我的Window 10 版本号是 1909,操作系统版本是 18363.1016
须要操作系统版本最低18917,更新办法见如何如何手动装置Windows 10 WSLv2
更具体的装置/降级介绍能够查看微软官网文档——Windows Linux子系统Windows 10装置指南
Q:Win10 —— 您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的状况下运行 VMware Workstation 的最低要求。
解决办法
Q:Ubuntu —— 通过 npm install -g ssvmup 增加了ssvmup,然而执行 ssvmup buil 零碎又提醒 : You have not installed ssvmup。
其实须要在rust文件所在目录上运行,最初我将ssvmup装置在全局,并同时将ssvmup装置在单我的项目中,通过npm srcipt来运行ssvmup命令
# 总结
Rust是一门年老的且充斥后劲的编程语言 [狗头]。
# 参考
- ???? 树莓派上的高性能 Node.js 利用
- Linux Ubuntu常用命令总结
- Rust 扼要教程 | 疾速入门
- 了不起的Rust - 利用案例