收藏

轻松实现Rust系统入门,实战编译器开发

通过平缓的学习曲线,攻克Rust核心重难点+高匹配度项目

轻松实现Rust系统入门,实战编译器开发

难度 初级 时长 12小时 学习人数 310 综合评分 9.96
  • 第1章 课程介绍与学习指南 试看 2 节 | 10分钟

    本章作为课程内容引入,主要介绍课程所涉及的技术及实战项目,课程的学习方法以及课程内容具体安排,希望大家都能通过这门课程,学有所成,学有所归。

    收起列表

    • 图文: 1-1 课前必读((不看会错过一个亿))
    • 视频: 1-2 课程导学 (09:20) 试看
  • 第2章 Rust的开发环境与工具 4 节 | 6分钟

    本章主要带领学员完成Rust环境安装,使用Cargo第三方编译器编写第一个Rust程序,并提供扩展阅读—代码自动补全原理,让学员掌握编译器是如何将代码做自动补全的。

    收起列表

    • 图文: 2-1 环境安装指导文档
    • 图文: 2-2 LSP
    • 视频: 2-3 Hello_World (05:58)
    • 作业: 2-4 作业: 试着玩一下 Cargo!
  • 第3章 Rust基本数据类型 试看 14 节 | 75分钟

    本章主要介绍的是 Rust 的基础数据类型,对Rust中整体类型系统进行概述,介绍变量及其可变性,Rust中的基本数据类型分类,提供作业—求两数平均数对变量进行综合运用,进一步讲解Rust中元组、数组、结构体、枚举、注释等相关基础知识点,以及不同类型之间进行数据类型的转换。...

    收起列表

    • 图文: 3-1 本章导学
    • 视频: 3-2 类型系统概述 (06:11) 试看
    • 视频: 3-3 变量和可变性 (11:16)
    • 视频: 3-4 基础数据类型 (05:49)
    • 作业: 3-5 作业: 求两个无符号数的平均数
    • 视频: 3-6 整数溢出 (10:15)
    • 视频: 3-7 元组 (04:46)
    • 视频: 3-8 数组 (07:18)
    • 视频: 3-9 切片类型 (07:14)
    • 视频: 3-10 结构体 (08:50)
    • 视频: 3-11 枚举 (04:44)
    • 图文: 3-12 各种注释类型
    • 图文: 3-13 println函数
    • 视频: 3-14 在不同类型之间转换 (07:53)
  • 第4章 Rust流程控制 15 节 | 70分钟

    本章将讲解Rust中的选择语句和循环语句来控制语句的执行顺序,以及Rust中的函数,各种类型函数的区别,通过经典实战-猜数字游戏对本章内容进行综合运用,充分掌握Rust中函数的使用。

    收起列表

    • 图文: 4-1 本章导学
    • 视频: 4-2 表达式的多种形式 (05:21)
    • 视频: 4-3 if_else选择结构 (04:43)
    • 视频: 4-4 使用loop循环 (05:13)
    • 视频: 4-5 使用while循环 (03:16)
    • 视频: 4-6 使用for_range进行迭代 (06:03)
    • 视频: 4-7 Rust中的match (05:46)
    • 视频: 4-8 if_let语法糖 (05:29)
    • 视频: 4-9 while_let语法糖 (02:13)
    • 视频: 4-10 函数与方法 (07:17)
    • 视频: 4-11 函数与闭包 (04:18)
    • 图文: 4-12 作业: 斐波那契数列
    • 视频: 4-13 高阶函数 (06:55)
    • 视频: 4-14 发散函数 (03:29)
    • 视频: 4-15 实践:猜数字游戏 (09:23)
  • 第5章 Rust中使用模块组织代码 试看 8 节 | 37分钟

    本章将介绍Rust中如何使用模块在文件和文件夹中组织代码,以及模块成员的可见性,如何在crates.io上发布你的代码。

    收起列表

    • 图文: 5-1 本章导学
    • 视频: 5-2 Rust中的模块化编程 (08:29) 试看
    • 视频: 5-3 使用pub改变可见性 (07:26)
    • 视频: 5-4 结构体的可见性 (06:32)
    • 视频: 5-5 使用use绑定模块成员 (04:19)
    • 视频: 5-6 使用super与self简化模块路径 (03:55)
    • 作业: 5-7 本章作业
    • 视频: 5-8 项目目录层次结构 (05:27)
  • 第6章 Rust中的泛型 6 节 | 37分钟

    本章将讲解Rust中的泛型使用,使用泛型作为函数类型参数,使用泛型作为结构体成员类型,以及Traits定义共享行为与特征绑定。

    收起列表

    • 图文: 6-1 本章导学
    • 视频: 6-2 泛型作为函数参数的类型(加片头) (08:06)
    • 视频: 6-3 结构体中的泛型 (06:41)
    • 视频: 6-4 结构体泛型的实现 (08:07)
    • 视频: 6-5 使用traits定义共同的行为 (07:39)
    • 视频: 6-6 自动派生 (06:16)
  • 第7章 Rust中的作用域及作用域的规则 5 节 | 30分钟

    本章中将对Rust中的所有权问题进行讲解,及所有权之间的相关特性,包括:借用/切片,以及Rust中是如何在内存中进行数据布局的。

    收起列表

    • 图文: 7-1 本章导学
    • 视频: 7-2 Rust中的所有权 (12:39)
    • 视频: 7-3 Rust中的借用 (07:41)
    • 图文: 7-4 生命周期
    • 视频: 7-5 生命周期注解 (08:52)
  • 第8章 Rust中的错误处理机制 4 节 | 32分钟

    本章将讲解Rust中使用两种语法来实现可恢复错误和不可恢复错误的处理,分别是Result<T,E>和panic!,前者是一个泛型枚举,后者为一个宏,通过本章可以让学员充分掌握Rust中的错误处理的机制。

    收起列表

    • 图文: 8-1 本章导学
    • 视频: 8-2 不可恢复的错误 (11:18)
    • 视频: 8-3 可恢复的错误 (06:47)
    • 视频: 8-4 自定义错误与问号表达式 (13:38)
  • 第9章 Rust标准库 7 节 | 75分钟

    在 Rust 标注库中存在一些十分有用的数据类型, 在本章中我们就将学习这些类型. Box: 智能指针, Rc: 引用计数, Vec: 可自由伸缩的向量结构,HashMap: 可自由伸缩的 K/V 结构,String: Rust 中的多种字符串,SystemTime: 系统时间

    收起列表

    • 图文: 9-1 本章导学
    • 视频: 9-2 Rust中的智能指针Box (16:25)
    • 视频: 9-3 Rust中的引用计数Rc (08:29)
    • 视频: 9-4 Rust中的Vector动态数组 (12:17)
    • 视频: 9-5 Rust中的HashMap (10:21)
    • 视频: 9-6 Rust 中的多种字符串String (13:11)
    • 视频: 9-7 Rust中的系统时间SystemTime (13:57)
  • 第10章 Brainfuck解释器 7 节 | 64分钟

    本章将使用Rust实现一门简单编程语言:Brainfuck与它的解释器,对Brainfuck中的语法进行解析,Brainfuck Opcode的定义,讲解Brainfuck是如何进行解释执行的,最后进行Brainfuck进行测试。

    收起列表

    • 图文: 10-1 本章导学
    • 视频: 10-2 brainfuck语法解析 (06:46)
    • 视频: 10-3 brainfuck opcode 定义 (15:03)
    • 视频: 10-4 brainfuck 解释器实现 (12:27)
    • 视频: 10-5 测试 (05:45)
    • 视频: 10-6 使用中间表示(一) (16:16)
    • 视频: 10-7 使用中间表示(二) (06:49)
  • 第11章 实现Brainfuck的JIT编译器 6 节 | 59分钟

    本章是本课程的最后一章,且难度较大,并且不再局限于Rust,将实现Brainfuck的JIT编译器,了解一些简单的汇编代码,学习Rust中的dynasm库,为Brainfuck解释器实现JIT编译器。

    收起列表

    • 图文: 11-1 本章导学
    • 视频: 11-2 x64汇编简介(一) (11:51)
    • 视频: 11-3 x64汇编简介(二) (09:45)
    • 视频: 11-4 什么是JIT (15:37)
    • 视频: 11-5 dynasm介绍 (10:44)
    • 视频: 11-6 实现BrainfuckJIT (10:16)
  • 第12章 Rust 的网络和多线程编程 4 节 | 60分钟

    本章节介绍 Rust 的网络和多线程编程, 并带领大家实际完成 SOCKS5 网络协议的简单实现

    收起列表

    • 视频: 12-1 项目演示 (05:39)
    • 视频: 12-2 什么是代理 (16:20)
    • 视频: 12-3 socks5proxy(一) (16:12)
    • 视频: 12-4 socks5proxy(二) (20:58)
  • 第13章 课程总结 1 节 | 8分钟

    课程总结

    收起列表

    • 视频: 13-1 Rust课程总结 (07:45)
本课程已完结

试看

全部试看小节



讲师

叶枭 Linux系统工程师

具有十多年经验的高度专注的软件工程师, 使用各种技术在多种开发和工程职位中. 在业余时间, 我喜欢探索老旧的技术, 从纸带程序开始, 第一枚商用处理器到最古老的游戏机. 从前人的智慧中获取灵感, 并指导如今的程序开发. 这是一个有趣的体验, 因为你能学到许多极端的改善性能的方案.

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题