电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

深入Rust标准库:必备的Rust语言高级指南

59.00
运费: 免运费
深入Rust标准库:必备的Rust语言高级指南 商品图0
深入Rust标准库:必备的Rust语言高级指南 商品图1
深入Rust标准库:必备的Rust语言高级指南 商品图2
深入Rust标准库:必备的Rust语言高级指南 商品缩略图0 深入Rust标准库:必备的Rust语言高级指南 商品缩略图1 深入Rust标准库:必备的Rust语言高级指南 商品缩略图2

商品详情

书名:深入Rust标准库:*备的Rust语言*级指南
定价:118.0
ISBN:9787121475863
作者:无
版次:*1版
出版时间:2024-04

内容提要:
本书详细分析了1.56版本的Rust标准库源代码。本书首先分析内存操作以建立标准库的根函数概念,然后分析基本类型、基本特征,随后介绍迭代器、内部可变性类型、智能指针及容器等*级语言特性,*后介绍属于操作系统环境编程的进程管理、并发编程、文件系统、IO系统等。本书尽量给出代码背后的需求及设计思路。本书也着重从代码分析Rust独特的所有权,生命周期的本质。本书适合作为已经完成入门阶段的Rust程序员的下一本指南。掌握本书的内容后,读者应该可以完全掌握Rust编程的*级技巧。



作者简介:
任成珺拥有超过20年的系统级程序架构及开发经验,到今仍活跃在开发一线。王晓娜博士,任职于中国兵器工业集团公司北方科技信息研究所,善于深入浅出地解读艰深技术。韩龙硕士,任职于中信银行,从事多年IT基础设施及云服务规划与设计。

媒体评论:
系统性分析及设计理念精讲用代码解析平滑Rust学习曲线

目录:
目录
*1 章 Rust 标准库体系概述 ....................................................................................... 1
1.1 CORE 库 ............................................................................................................................ 2
1.2 ALLOC 库 ......................................................................................................................... 3
1.3 STD 库 ............................................................................................................................... 4
1.4 回顾 ................................................................................................................................... 4
*2 章 Rust 特征小议 .................................................................................................. 5
2.1 泛型小议 ........................................................................................................................... 6
2.1.1 基于泛型的函数及Trait ...................................................................................... 6
2.1.2 泛型约束的层次 ................................................................................................... 6
2.2 Rust 内存安全杂述 ........................................................................................................... 7
2.3 获取封装类型变量的内部变量 ........................................................................................ 9
2.3.1 使用“?”运算符解封装 ..................................................................................... 9
2.3.2 函数调用+自动解引用 ....................................................................................... 10
2.3.3 采用闭包 ............................................................................................................. 10
2.3.4 获取引用 ............................................................................................................. 11
2.3.5 获取所有权 ......................................................................................................... 11
2.4 回顾 ................................................................................................................................. 12
第3 章 内存操作 ........................................................................................................ 13
3.1 裸指针——不安全的根源 .............................................................................................. 15
3.1.1 裸指针具体实现 ................................................................................................. 16
3.1.2 固有模块裸指针关联函数 ................................................................................. 18
3.1.3 裸指针操作 ......................................................................................................... 19
3.1.4 裸指针番外 ......................................................................................................... 22
3.2 MaybeUninit<T>——未初始化变量方案...................................................................... 23
VIII∣深入Rust 标准库:*备的Rust 语言*级指南
3.2.1 MaybeUninit<T>定义 ......................................................................................... 23
3.2.2 ManuallyDrop<T>定义 ...................................................................................... 24
3.2.3 MaybeUninit<T>构造函数 ................................................................................. 25
3.2.4 MaybeUninit<T>初始化函数 ............................................................................. 26
3.2.5 MaybeUninit<T>数组类型操作 ......................................................................... 27
3.2.6 典型案例 ............................................................................................................. 28
3.3 裸指针再论 ..................................................................................................................... 29
3.4 非空裸指针——NonNull<T> ......................................................................................... 30
3.4.1 构造关联函数 ..................................................................................................... 31
3.4.2 类型转换函数 ..................................................................................................... 32
3.4.3 其他函数 ............................................................................................................. 32
3.5 智能指针的基座——Unique<T> ................................................................................... 33
3.6 mem 模块函数 ................................................................................................................ 34
3.6.1 构造泛型变量函数 ............................................................................................. 34
3.6.2 泛型变量所有权转移函数 ................................................................................. 34
3.6.3 其他函数 ............................................................................................................. 36
3.7 动态内存申请及释放 ..................................................................................................... 36
3.7.1 内存布局 ............................................................................................................. 36
3.7.2 动态内存申请与释放接口 ................................................................................. 38
3.8 全局变量内存探讨 ......................................................................................................... 42
3.9 drop 总结 ......................................................................................................................... 43
3.10 Rust 所有权、生命周期、借用探讨 ........................................................................... 44
3.11 回顾 ............................................................................................................................... 47
第4 章 基本类型及基本Trait ..................................................................................... 48
4.1 固有函数库 ..................................................................................................................... 49
4.1.1 原子操作函数 ..................................................................................................... 49
4.1.2 数学函数及位操作函数 ..................................................................................... 49
4.1.3 指令预取优化函数、断言类函数及栈获取函数 ............................................. 49
4.2 基本类型分析 ................................................................................................................. 49
4.2.1 整数类型 ............................................................................................................. 50
目录∣IX
4.2.2 浮点类型 ............................................................................................................. 53
4.2.3 Option<T>类型 ................................................................................................... 54
4.2.4 引用类型match 语法研究 ................................................................................. 59
4.2.5 Result<T,E>类型 ................................................................................................ 60
4.3 基本Trait ......................................................................................................................... 64
4.3.1 编译器内置Marker Trait .................................................................................... 64
4.3.2 算术运算符Trait ................................................................................................ 67
4.3.3 “?”运算符Trait .............................................................................................. 74
4.3.4 范围运算符Trait ................................................................................................ 76
4.3.5 索引运算符Trait ................................................................................................ 78
4.4 回顾 ................................................................................................................................. 83
第5 章 迭代器 ............................................................................................................ 84
5.1 三种迭代器 ..................................................................................................................... 85
5.2 Iterator Trait 分析 ............................................................................................................ 86
5.3 Iterator 与其他集合类型转换 ......................................................................................... 89
5.4 范围类型迭代器 ............................................................................................................. 90
5.5 切片类型迭代器 ............................................................................................................. 93
5.6 字符串类型迭代器 ......................................................................................................... 98
5.7 数组类型迭代器 ............................................................................................................. 99
5.7.1 成员本身迭代器 ................................................................................................. 99
5.7.2 成员引用迭代器 ............................................................................................... 101
5.8 Iterator 适配器 ............................................................................................................... 102
5.8.1 Map 适配器 ...................................................................................................... 102
5.8.2 Chain 适配器 .................................................................................................... 103
5.8.3 其他适配器 ....................................................................................................... 105
5.9 Option<T>适配器 ......................................................................................................... 105
5.10 回顾 ............................................................................................................................. 106
第6 章 基本类型(续) ........................................................................................... 107
6.1 整数类型 ....................................................................................................................... 108
X∣深入Rust 标准库:*备的Rust 语言*级指南
6.2 布尔类型 ....................................................................................................................... 109
6.3 字符类型 ....................................................................................................................... 110
6.4 字符串类型 ................................................................................................................... 114
6.5 切片类型 ....................................................................................................................... 126
6.6 回顾 ............................................................................................................................... 128
第7 章 内部可变性类型 ........................................................................................... 129
7.1 Borrow/BorrowMut 分析 .............................................................................................. 130
7.2 Cell<T>类型分析 .......................................................................................................... 131
7.2.1 UnsafeCell<T>分析 .......................................................................................... 131
7.2.2 Cell<T>分析 ..................................................................................................... 132
7.3 RefCell<T>类型分析 .................................................................................................... 134
7.3.1 Borrow Trait 分析 ............................................................................................. 136
7.3.2 BorrowMut Trait 分析 ...................................................................................... 138
7.3.3 RefCell<T>的其他函数 ................................................................................... 140
7.4 Pin<T>/UnPin<T>类型分析 ......................................................................................... 142
7.5 Lazy<T>类型分析 ........................................................................................................ 145
7.6 回顾 ............................................................................................................................... 149
第8 章 智能指针 ...................................................................................................... 150
8.1 Box<T>类型分析 .......................................................................................................... 151
8.2 RawVec<T>类型分析 ................................................................................................... 155
8.3 Vec<T>类型分析 .......................................................................................................... 161
8.3.1 Vec<T>基础分析 .............................................................................................. 161
8.3.2 Vec<T>的Iterator Trait ..................................................................................... 170
8.4 Rc<T>类型分析 ............................................................................................................ 173
8.4.1 Rc<T>类型的构造函数及析构函数 ................................................................ 175
8.4.2 Weak<T>类型分析 ........................................................................................... 179
8.4.3 Rc<T>的其他函数 ........................................................................................... 180
8.5 Arc<T>类型分析 .......................................................................................................... 183
8.5.1 Arc<T>类型的构造函数及析构函数 .............................................................. 183
目录∣XI
8.5.2 Weak<T>类型分析 ........................................................................................... 188
8.5.3 Arc<T>的其他函数 .......................................................................................... 190
8.6 Cow<‘a, T>类型分析 ..................................................................................................... 194
8.6.1 ToOwned Trait 分析 .......................................................................................... 194
8.6.2 Cow<‘a, T>分析 ................................................................................................ 195
8.7 LinkedList<T>类型分析 ............................................................................................... 197
8.8 String 类型分析 ............................................................................................................. 203
8.8.1 初识String 类型分析 ....................................................................................... 203
8.8.2 格式化字符串分析 ........................................................................................... 205
8.9 回顾 ............................................................................................................................... 216
第9 章 用户态标准库基础 ........................................................................................ 217
9.1 Rust 与C 语言交互 ...................................................................................................... 218
9.1.1 C 语言的类型适配 ........................................................................................... 219
9.1.2 C 语言的va_list 类型适配 ............................................................................... 221
9.1.3 C 语言字符串类型适配 ................................................................................... 222
9.1.4 OsString 代码分析 ............................................................................................ 228
9.2 代码工程中的一个技巧 ............................................................................................... 229
9.3 内存管理之STD 库 ...................................................................................................... 230
9.4 系统调用(SYSCALL)的封装 .................................................................................. 236
9.5 文件描述符及句柄 ....................................................................................................... 237
9.5.1 文件描述符所有权设计 ................................................................................... 237
9.5.2 文件逻辑操作适配层 ....................................................................................... 241
9.6 回顾 ............................................................................................................................... 244
*10 章 进程管理 .................................................................................................... 245
10.1 匿名管道 ..................................................................................................................... 247
10.2 重定向实现分析 ......................................................................................................... 248
10.3 进程管理 ..................................................................................................................... 251
10.3.1 OS 相关适配层 ............................................................................................... 251
10.3.2 对外接口层 ..................................................................................................... 259
10.4 回顾 ............................................................................................................................. 263
XII∣深入Rust 标准库:*备的Rust 语言*级指南
*11 章 并发编程 .................................................................................................... 264
11.1 Futex 分析 ................................................................................................................... 265
11.2 Mutex<T>类型分析 .................................................................................................... 267
11.2.1 OS 相关适配层 ............................................................................................... 267
11.2.2 OS 无关适配层 ............................................................................................... 269
11.2.3 对外接口层 ..................................................................................................... 271
11.3 Condvar 类型分析 ....................................................................................................... 275
11.3.1 OS 相关适配层 ............................................................................................... 275
11.3.2 OS 无关适配层 ............................................................................................... 277
11.3.3 对外接口层 ..................................................................................................... 278
11.4 RwLock<T>类型分析 ................................................................................................. 280
11.4.1 OS 相关适配层 ............................................................................................... 280
11.4.2 OS 无关适配层 ............................................................................................... 286
11.4.3 对外接口层 ..................................................................................................... 287
11.5 Barrier 类型分析 ......................................................................................................... 290
11.6 Once 类型分析 ............................................................................................................ 292
11.7 OnceLock<T>类型分析 .............................................................................................. 296
11.8 LazyLock<T>类型分析 .............................................................................................. 299
11.9 线程分析 ..................................................................................................................... 300
11.9.1 OS 相关适配层 ............................................................................................... 300
11.9.2 OS 无关适配层 ............................................................................................... 311
11.9.3 对外接口层 ..................................................................................................... 313
11.10 线程消息通信——MPSC ......................................................................................... 332
11.10.1 消息队列类型——Queue<T> ...................................................................... 334
11.10.2 阻塞及唤醒信号机制 ................................................................................... 336
11.10.3 一次性通信通道机制 ................................................................................... 338
11.10.4 Shared 类型通道 ........................................................................................... 342
11.10.5 对外接口层 ................................................................................................... 350
11.11 Rust 的RUNTIME .................................................................................................... 357
11.12 回顾 ........................................................................................................................... 359
目录∣XIII
*12 章 文件系统 .................................................................................................... 360
12.1 OS 相关适配层 ........................................................................................................... 361
12.1.1 路径名类型分析 ............................................................................................. 361
12.1.2 普通文件操作分析 ......................................................................................... 362
12.1.3 目录操作分析 ................................................................................................. 371
12.2 对外接口层 ................................................................................................................. 377
12.3 回顾 ............................................................................................................................. 381
*13 章 I/O 系统 ...................................................................................................... 382
13.1 标准输入Stdin 类型分析 ........................................................................................... 383
13.1.1 Read Trait ........................................................................................................ 384
13.1.2 向量读/写类型分析 ........................................................................................ 388
13.1.3 对外接口层 ..................................................................................................... 390
13.2 标准输出Stdout 类型分析 ......................................................................................... 405
13.3 网络I/O ....................................................................................................................... 420
13.4 回顾 ............................................................................................................................. 420
*14 章 异步编程 .................................................................................................... 421
14.1 Rust 协程框架简析 ..................................................................................................... 422
14.1.1 协程概述 ......................................................................................................... 422
14.1.2 Rust 的I/O 多路复用 .....................................................................
电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

深入Rust标准库:必备的Rust语言高级指南

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏