refer
- comprehensive-rust : 这个教程有点酷
1-Intro
Rustc
- 使用
LLVM作为后端,rustc生成的是LLVM的中间表示,然后由llvm转化为可执行的目标代码. rustc用来编译rust源码的,实现了bootstrapping,rustc也是由rust写的
Rust 的独特
rust 的定位类似于 C++ ,有运行时和垃圾收集
编译时的内存安全: 在编译的时候
- 不存在未初始化的变量
- 不存在 “双重释放”
- 不存在 “释放后使用”
- 不存在
NULL指针 - 不存在被遗忘的互斥锁
- 不存在线程之间的数据竞争
- 不存在迭代器失效
没有未定义的运行时行为: 每个 Rust 语句都有明确的定义
现代语言的功能:
- 枚举和模式匹配
- 泛型
- 无额外开销的外部函数接口
- 零成本抽象
- 强大的编译器错误提示
- 内置依赖管理器
- 对测试的内置支持
- …