VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 227|回复: 7

[操作系统] 【入门电子书籍】Rust编程之道和深入浅出Rust【pdf】

[复制链接]
68_avatar_middle
最佳答案
0 
online_vip 发表于 2020-7-12 15:32:33 | 显示全部楼层 |阅读模式
本帖最后由 雨夹血 于 2020-7-12 15:36 编辑

【入门电子书籍】Rust编程之道和深入浅出Rust【pdf】


目录
第1 章 新时代的语言 .................................................................................................. 1
1.1 缘起 ........................................................................................................................... 1
1.2 设计哲学 ................................................................................................................... 3
1.2.1 内存安全....................................................................................................... 3
1.2.2 零成本抽象 ................................................................................................... 4
1.2.3 实用性 .......................................................................................................... 5
1.3 现状与未来 ............................................................................................................... 7
1.3.1 语言架构....................................................................................................... 8
1.3.2 开源社区....................................................................................................... 9
1.3.3 发展前景....................................................................................................... 9
1.4 Rust 代码如何执行 ................................................................................................ 10
1.5 小结 ......................................................................................................................... 10
第2 章 语言精要 ........................................................................................................ 11
2.1 Rust 语言的基本构成 ............................................................................................. 11
2.1.1 语言规范..................................................................................................... 11
2.1.2 编译器 ........................................................................................................ 12
2.1.3 核心库 ........................................................................................................ 12
2.1.4 标准库 ........................................................................................................ 12
2.1.5 包管理器..................................................................................................... 13
2.2 语句与表达式 ......................................................................................................... 13
2.3 变量与绑定 ............................................................................................................. 14
2.3.1 位置表达式和值表达式 ............................................................................. 15
2.3.2 不可变绑定与可变绑定 ............................................................................. 15
2.3.3 所有权与引用 ............................................................................................. 16
2.4 函数与闭包 ............................................................................................................. 17
2.4.1 函数定义..................................................................................................... 17
2.4.2 作用域与生命周期 ..................................................................................... 18
2.4.3 函数指针..................................................................................................... 19
2.4.5 CTFE 机制 .................................................................................................. 20
2.4.6 闭包 ............................................................................................................ 20
2.5 流程控制 ................................................................................................................. 22
2.5.1 条件表达式 ................................................................................................. 22
2.5.2 循环表达式 ................................................................................................. 23
2.5.3 match 表达式与模式匹配 .......................................................................... 24
2.5.4 if let 和while let 表达式 ............................................................................ 25
2.6 基本数据类型 ......................................................................................................... 26
2.6.1 布尔类型..................................................................................................... 26
2.6.2 基本数字类型 ............................................................................................. 26
2.6.3 字符类型..................................................................................................... 27
2.6.4 数组类型..................................................................................................... 28
2.6.5 范围类型..................................................................................................... 29
2.6.6 切片类型..................................................................................................... 29
2.6.7 str 字符串类型 ............................................................................................ 30
2.6.8 原生指针..................................................................................................... 31
2.6.9 never 类型 ................................................................................................... 31
2.7 复合数据类型 ......................................................................................................... 32
2.7.1 元组 ............................................................................................................ 32
2.7.2 结构体 ........................................................................................................ 33
2.7.3 枚举体 ........................................................................................................ 36
2.8 常用集合类型 ......................................................................................................... 38
2.8.1 线性序列:向量 ......................................................................................... 38
2.8.2 线性序列:双端队列 ................................................................................. 39
2.8.3 线性序列:链表 ......................................................................................... 40
2.8.4 Key-Value 映射表:HashMap 和BTreeMap ............................................ 40
2.8.5 集合:HashSet 和BTreeSet ...................................................................... 41
2.8.6 优先队列:BinaryHeap ............................................................................. 42
2.9 智能指针 ................................................................................................................. 42
2.10 泛型和trait ........................................................................................................... 43
2.10.1 泛型 .......................................................................................................... 43
2.10.2 trait ............................................................................................................ 44
2.11 错误处理 ............................................................................................................... 47
2.12 表达式优先级 ....................................................................................................... 48
2.13 注释与打印 ........................................................................................................... 48
2.14 小结 ....................................................................................................................... 50
第3 章 类型系统 ............................................................................................


【入门电子书籍】Rust编程之道和深入浅出Rust【pdf】

第一部分 基础知识
第1章 与君初相见 2
第2章 变量和类型 10
第3章 语句和表达式 34
第4章 函数 44
第5章 trait 50
第6章 数组和字符串 66
第7章 模式解构 77
第8章 深入类型系统 91
第9章 宏 102
第二部分 内存安全
第10章 内存管理基础 110
第11章 所有权和移动语义 114
第12章 借用和生命周期 132
第13章 借用检查 141
第14章 NLL(Non-Lexical-
第15章 内部可变性 158
第16章 解引用 169
第17章 泄漏 181
第18章 Panic 190
第19章 Unsafe 198
第20章 Vec源码分析 216
第三部分 高级抽象
第21章 泛型 234
......

https://doc.rust-lang.org/stable/rust-by-example/ 【Rust 实例】
https://cheats.rs  【Rust电子书】
https://doc.rust-lang.org/stable/rust-by-example/ 【Rust电子书】
https://www.cntofu.com/book/55/index.html  【Rust电子书】

https://cloud.189.cn/t/eQzYNvERFRNz




上一篇:Windows 应用程序捆绑核心编程
下一篇:数据结构算法与应用 C++课后习题答案
08_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-12 20:40:14 | 显示全部楼层
这是什么语言 传说的R语言?那不是ruby么?
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-7-12 22:05:51 | 显示全部楼层
SummerGull 发表于 2020-7-12 20:40
这是什么语言 传说的R语言?那不是ruby么?

看营销号说微软想用Rust重写内核,不知真假。
08_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-13 13:03:19 | 显示全部楼层
thzzl 发表于 2020-7-12 22:05
看营销号说微软想用Rust重写内核,不知真假。

微软自己可能都不记得有说过,
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-7-13 13:32:56 | 显示全部楼层
SummerGull 发表于 2020-7-13 13:03
微软自己可能都不记得有说过,


嗯嗯,不过于迷信大佬,也不过于迷信大众,大胆怀疑,小心求证,好评!
68_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-7-13 18:10:35 | 显示全部楼层
thzzl 发表于 2020-7-13 13:32
嗯嗯,不过于迷信大佬,也不过于迷信大众,大胆怀疑,小心求证,好评!

好处就是 内存安全,
案例很多:比如 火狐浏览器就是rust 写的  清华大学 用rust 重写了linux内核
缺点:目前就是  代码  不符合 c/c++代码风格 ,学习有点陡峭
08_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-13 19:40:44 | 显示全部楼层
本帖最后由 SummerGull 于 2020-7-13 19:51 编辑
雨夹血 发表于 2020-7-13 18:10
好处就是 内存安全,
案例很多:比如 火狐浏览器就是rust 写的  清华大学 用rust 重写了linux内核
缺点 ...


rust我看了下  他们都说很安全。 安全是指 内存管理方面么? 比如一些语言的有的 垃圾回收机制,那么这种方式不是也会相对应的付出很多代价么
https://zhuanlan.zhihu.com/p/99203541
技术角度

从技术上说,Rust 语言拥有非常显著的和引人注目的优势,这不仅仅体现在它追求替代 c++ 方面,还表现在它在工业界实际的优秀表现:出色的性能、高度控制、内存安全。

微软一项调查显示,在微软的系统中,有 70% 的漏洞是因为使用 c/c++ 语言而造成的。但是这些漏洞又无法通过使用 c# 来避免,因为无法具有与 c/c++ 相媲美的性能。Rust 被微软认为是替换 c/c++ 唯一的候选人,因为它性能出色、安全,如果加以利用则能解决微软系统中 70% 的漏洞。

除了内存安全、高性能和高度控制外,Rust 还在其它方面具有强大的吸引力,如强大的类型安全保证等。实际上很多人都将 Rust 和 C++ 比较,但是光从这一点上,其实是很难抉择的。

这篇文章是我看过 写的最过分的文章。 微软说自己70%的BUG是用了C/C++造成的。而改用rust可以减少70%BUG.
这 作者 TM说的话 完全可以不用带脑子了的 。@thzzl
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-7-13 22:45:57 | 显示全部楼层
SummerGull 发表于 2020-7-13 19:40
rust我看了下  他们都说很安全。 安全是指 内存管理方面么? 比如一些语言的有的 垃圾回收机制,那么这 ...


赞同老铁,个人认为:微软的BUG和C++关系不大,缓冲区溢出有GS保护,边界安全检查,内存泄漏,即可以用代码优化,也可以用工具优化。我不知他指的微软的系统是什么,服务器系统还是Windows?如果说Windows,又是内存问题,最大的内存问题因该是为了节省内存空间,一些重要的内存地址重复利用,读写出现一些问题,而这点和编程语言无关,现在瀑布开发模型下,不易排错是个问题。
文章作者谈及区块链,又从作者对系统的理解过于片面这一点推测,作者因该是没有接触过操作系统原理、系统开发之类的技术。至于作者说微软的调查,微软在全球的程序员总数网上报过,说超过10万,部门又多如牛毛,怎么调查呢,部门领导甩锅给C++也不是没有可能的事,作者又没有给出原文链接。

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-24 23:25

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表