展开全部

主编推荐语

一本用Rust进行系统编程的实践指南。

内容简介

本书通过探索多种系统编程概念和技术引入Rust编程语言,在深入探索计算机工作原理的同时,帮助读者了解Rust的所有权系统、Trait、包管理、错误处理、条件编译等概念,并通过源自现实的示例来帮你了解Rust中的内存模型、文件操作、多线程、网络编程等内容。

本书旨在帮助读者理解如何用Rust进行系统编程,并提供了一些使用Rust编写代码的技巧。书中给出了10余个源自现实的示例,让读者不仅能了解Rust语法,还能了解Rust的实际运用。

目录

  • 版权信息
  • 版权声明
  • 内容提要
  • 致谢
  • 前言
  • 关于封面人物
  • 第一部分 Rust语言的特色
  • 第1章 Rust语言介绍
  • 1.1 哪些地方使用了Rust?
  • 1.2 在工作中提倡使用Rust
  • 1.3 Rust初体验
  • 1.4 下载本书源代码
  • 1.5 使用Rust语言的感受如何?
  • 1.6 Rust语言是什么?
  • 1.7 Rust的主要特点
  • 1.8 Rust的缺点
  • 1.9 TLS安全性问题的研究
  • 1.10 Rust最适用于哪些领域?
  • 1.11 Rust的隐式特性:它的社区
  • 1.12 Rust术语表
  • 本章小结
  • 第2章 Rust语言基础
  • 2.1 创建一个可运行的程序
  • 2.2 初探Rust语法
  • 2.3 数字类型
  • 2.4 流程控制
  • 2.5 定义函数
  • 2.6 使用引用
  • 2.7 项目:绘制芒德布罗集
  • 2.8 高级函数定义
  • 2.9 创建grep-lite
  • 2.10 使用数组、切片和动态数组来创建数据列表
  • 2.11 包含第三方代码
  • 2.12 命令行参数的支持
  • 2.13 从文件中读取
  • 2.14 从标准输入中读取
  • 本章小结
  • 第3章 复合数据类型
  • 3.1 使用普通函数对API进行实验
  • 3.2 使用结构体为文件建模
  • 3.3 使用impl为结构体添加方法
  • 3.4 返回错误信息
  • 3.5 定义并使用枚举体
  • 3.6 使用trait来定义共有的行为
  • 3.7 将类型暴露给外部使用
  • 3.8 创建内联文档
  • 本章小结
  • 第4章 生命周期、所有权和借用
  • 4.1 实现一个模拟的立方体卫星地面站
  • 4.2 本章图例的说明
  • 4.3 所有者是什么?它有什么职责?
  • 4.4 所有权是如何移动的?
  • 4.5 解决所有权的问题
  • 本章小结
  • 第二部分 揭开系统编程的神秘面纱
  • 第5章 深入理解数据
  • 5.1 位模式和类型
  • 5.2 整数的生存范围
  • 5.3 小数的表示形式
  • 5.4 浮点数
  • 5.5 定点数格式
  • 5.6 从随机字节中生成随机概率
  • 5.7 实现一个CPU模拟器以建立函数也是数据的观念
  • 本章小结
  • 第6章 内存
  • 6.1 指针
  • 6.2 探索Rust的引用和指针类型
  • 6.3 为程序提供存储数据的内存
  • 6.4 虚拟内存
  • 本章小结
  • 第7章 文件与存储
  • 7.1 文件格式是什么?
  • 7.2 创建你自己的用于存储数据的文件格式
  • 7.3 实现一个hexdump的克隆
  • 7.4 Rust中的文件操作
  • 7.5 使用基于日志结构、仅追加的存储架构,来实现一个键值存储
  • 7.6 Actionkv v1:前端代码
  • 7.7 理解ACTIONKV的核心:LIBACTIONKV包
  • 本章小结
  • 第8章 网络
  • 8.1 全部的网络体系都在7个分层中
  • 8.2 使用reqwest来生成一个HTTP GET请求
  • 8.3 trait对象
  • 8.4 TCP
  • 8.5 以符合工效学的方式处理来自多个包的错误
  • 8.6 MAC地址
  • 8.7 使用Rust的枚举体来实现状态机
  • 8.8 原始TCP
  • 8.9 创建一个虚拟网络设备
  • 8.10 原始HTTP
  • 本章小结
  • 第9章 时间与时间保持
  • 9.1 背景
  • 9.2 时间源
  • 9.3 一些相关的术语定义
  • 9.4 时间的编码
  • 9.5 clock v0.1.0:教会一个应用程序如何报时
  • 9.6 clock v0.1.1:格式化时间戳以符合ISO 8601和电子邮件的标准
  • 9.7 clock v0.1.2:设置时间
  • 9.8 改善错误处理
  • 9.9 clock v0.1.3:使用NTP来解决时钟之间的差异
  • 本章小结
  • 第10章 进程、线程和容器
  • 10.1 匿名函数
  • 10.2 产生线程
  • 10.3 闭包与函数的差异
  • 10.4 从多线程解析器和代码生成器中程序化地生成头像
  • 10.5 并发与任务虚拟化
  • 本章小结
  • 第11章 内核
  • 11.1 初级操作系统(FledgeOS)
  • 11.2 Fledgeos-0:先让一些东西能运行起来
  • 11.3 fledgeos-1:避免使用忙循环
  • 11.4 fledgeos-2:自定义异常处理
  • 11.5 fledgeos-3:文本的输出
  • 11.6 fledgeos-4:自定义恐慌处理
  • 本章小结
  • 第12章 信号、中断和异常
  • 12.1 术语表
  • 12.2 中断是如何影响应用程序的
  • 12.3 软件中断
  • 12.4 硬件中断
  • 12.5 信号处理
  • 12.6 使用自定义的行为来处理信号
  • 12.7 发送由应用程序定义的信号
  • 12.8 如何忽略信号
  • 12.9 从深层嵌套的调用栈中关闭程序
  • 12.10 将这些技术应用于不支持信号的平台的说明
  • 12.11 修订异常
  • 本章小结
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。