思维导图备注

Comprehensive Rust 简体中文 (202412)
召唤码灵薯 首页 白天 夜间 BookChat 小程序 小程序 阅读
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

48. 练习解答

 Github  来源:Google 浏览 86 扫码 分享 2024-12-04 16:18:19
  • 练习解答

    练习解答

    Solutions to the Chromium exercises can be found in this series of CLs.

    当前内容版权归 Google 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Google .
    上一篇:
    下一篇:
    • 书签
    • 添加书签 移除书签
    • Comprehensive Rust 简体中文 (202412)
    • Comprehensive Rust (202412)
    • Comprehensive Rust 🦀 (202302)
    • 欢迎来到 Comprehensive Rust 🦀
    • 1. 授课
    • 1.1. 课程结构
      • 1.2. 键盘快捷键
      • 1.3. 翻译
    • 2. 使用 Cargo
      • 2.1. Rust 生态系统
      • 2.2. 代码示例
      • 2.3. 在本地运行 Cargo
    • 3. 欢迎
    • 4. Hello, World
      • 4.1. 什么是 Rust?
      • 4.2. Rust 的优势
      • 4.3. Playground
    • 5. 类型和值
      • 5.1. Hello, World
      • 5.2. 变量
      • 5.3. 值
      • 5.4. 算术
      • 5.5. 类型推导
      • 5.6. 练习:Fibonacci
        • 5.6.1. 解答
    • 6. 控制流基础
      • 6.1. if 表达式
      • 6.2. 循环控制
        • 6.2.1. for
        • 6.2.2. loop
      • 6.3. break 和 continue
        • 6.3.1. Labels
      • 6.4. 代码块和作用域
        • 6.4.1. 作用域和遮蔽(Shadowing)
      • 6.5. 函数
      • 6.6. 宏
      • 6.7. 练习:考拉兹序列
        • 6.7.1. 解答
    • 7. 欢迎
    • 8. 元组和数组
      • 8.1. 数组(Arrays)
      • 8.2. 元组(Tuples)
      • 8.3. 数组迭代
      • 8.4. 解构
      • 8.5. 练习:嵌套数组
        • 8.5.1. 解答
    • 9. 引用
      • 9.1. 共享引用
      • 9.2. 独占引用
      • 9.3 切片
      • 9.4. 字符串
      • 9.5. 练习:几何图形
        • 9.5.1. 解答
    • 10. 用户定义的类型
      • 10.1. 结构体
      • 10.2. 元组结构体
      • 10.3. 枚举
      • 10.4. static
      • 10.5. 常量
      • 10.6. 类型别名
      • 10.7. 练习:电梯事件
        • 10.7.1. 解答
    • 11. 欢迎
    • 12. 模式匹配
      • 12.1. Matching Values
      • 12.2. 解构
      • 12.3. let 控制流
      • 12.4. 练习:表达式求值
        • 12.4.1. 解答
    • 13. 方法和特征
      • 13.1. 方法
      • 13.2. 特征(Trait)
      • 13.2.1. 实现 Unsafe Trait
        • 13.2.2. 更多 trait
        • 13.2.3. 共享类型
      • 13.3. 派生特征
      • 13.4. 练习:通用日志
        • 13.4.1. 解答
    • 14. 泛型
      • 14.1. 泛型函数
      • 14.2. 泛型类型
      • 14.3. 泛型
      • 14.4. 特征边界
      • 14.5. impl Trait
      • 14.6. 练习:通用 min 函数
        • 14.6.1. 解答
    • 15. 欢迎
    • 16. 标准库类型
      • 16.1. 标准库
      • 16.2. 文档
      • 16.3. Option
      • 16.4. Result
      • 16.5. String
      • 16.6. Vec
      • 16.7. HashMap
      • 16.8. 练习:计数器
        • 16.8.1. 解答
    • 17. 标准库特征
      • 17.1. 比较
      • 17.2. 运算符
      • 17.3. From 和 Into
      • 17.4. 类型转换
      • 17.5. Read 和 Write
      • 17.6. Default,结构体更新语法
      • 17.7. 闭包
      • 17.8. 练习:ROT13
        • 17.8.1. 解答
    • 18. 欢迎
    • 19. 内存管理
      • 19.1. 回顾:程序的内存分配
      • 19.2. 内存管理方法
      • 19.3. 所有权
      • 19.4. 移动语义
      • 19.5. Clone
      • 19.6. 复合类型
      • 19.7. Drop
      • 19.8. 练习:构建器类型
        • 19.8.1. 解答
    • 20. 智能指针
      • 20.1. Box<T>
      • 20.2. Rc
      • 20.3. 特征对象
      • 20.4. 练习:二叉树
        • 20.4.1. 解答
    • 21. 欢迎
    • 22. 借用
      • 22.1. 借用值
      • 22.2. 借用检查
      • 22.3. 内部可变性
      • 22.4. 练习:健康统计
        • 22.4.1. 解答
    • 23. 结构体生命周期
      • 23.1. 生命周期注解
      • 23.2. 生命周期省略
      • 23.3. 结构体生命周期
      • 23.4. 练习:Protobuf 解析
        • 23.4.1. 解答
    • 24. 欢迎
    • 25. 迭代器
      • 25.1. Iterator
      • 25.2. IntoIterator
      • 25.3. FromIterator
      • 25.4. 练习:迭代器方法链
        • 25.4.1. 解答
    • 26. 模块
      • 26.1. 模块
      • 26.2. 文件系统层级结构
      • 26.3. 可见性
      • 26.4. use、super、self
      • 26.5. 练习:面向 GUI 库的模块
        • 26.5.1. 解答
    • 27. 测试
      • 27.1. 测试模块
      • 27.2. 其他类型的测试
      • 27.3. 编译器 Lint 和 Clippy
      • 27.4. 练习:卢恩算法
        • 27.4.1. 解答
    • 28. 欢迎
    • 29. 错误处理
      • 29.1. Panics
      • 29.2. 尝试运算符
      • 29.3. 尝试转换
      • 29.4. Error 特征
      • 29.5. thiserror 和 anyhow
      • 29.6. 练习:使用 Result 进行重写
        • 29.6.1. 解答
    • 30. 不安全 Rust
      • 30.1. Unsafe
      • 30.2. 解引用裸指针
      • 30.3. 可变的静态变量
      • 30.4. 联合体
      • 30.5. Unsafe 函数
      • 30.6. Unsafe 特征
      • 30.7. 练习:FFI 封装容器
      • 30.7.1. 解答
    • 31. 欢迎
    • 32. 设置
    • 33. 构建规则
      • 33.1. 可执行文件
      • 33.2. 库
    • 34. AIDL
      • 34.1. Birthday service interface.
        • 34.1.1. 接口
        • 34.1.2. Service API
        • 34.1.3. 服务器
        • 34.1.4. 服务器
        • 34.1.5. 部署
        • 34.1.6. 客户端
        • 34.1.7. 更改 API
        • 34.1.8. 实现
      • 34.2. 类型
        • 34.2.1. Primitive Types
        • 34.2.2. 数组(Arrays)
        • 34.2.3. 特征对象
        • 34.2.4. 变量
        • 34.2.5. Sending Files
    • 35. 测试
      • 35.1. GoogleTest
      • 35.2. 模拟
    • 36. 日志记录
    • 37. 互操作性
      • 37.1. 与 C 语言交互
        • 37.1.1. 使用 Bindgen 调用 C 语言
        • 37.1.2. 从 C 语言调用 Rust 语言
      • 37.2. 与 C++ 交互
        • 37.2.1. 桥接模块
        • 37.2.2. Rust 桥接
        • 37.2.3. 生成的 C++ 代码
        • 37.2.4. C++ 桥接
        • 37.2.5. 共享类型
        • 37.2.6. 共享枚举
        • 37.2.7. Rust 错误处理
        • 37.2.8. C++ 错误处理
        • 37.2.9. 其他类型
        • 37.2.10. 为 Android 构建:C++
        • 37.2.11. 为 Android 构建:Genrule
        • 37.2.12. 为 Android 构建:Rust
      • 37.3. 与 Java 交互
    • 38. 习题
    • 39. 欢迎
    • 40. 设置
    • 41. Chromium 和 Cargo 的生态对比
    • 42. 政策
    • 43. 构建规则
      • 43.1. 不安全代码
      • 43.2. 在 Chromium C++ 中导入 Rust 代码
      • 43.3. Visual Studio Code
      • 43.4. 练习
    • 44. 测试
      • 44.1. rust_gtest_interop 库
      • 44.2. Rust 测试的 GN 规则
      • 44.3. chromium::import! 宏
      • 44.4. 练习
    • 45. 与 C++ 的互操作性
      • 45.1. 绑定示例
      • 45.2. CXX 的局限性
      • 45.3. CXX 错误处理
        • 45.3.1. 错误处理:QR 码示例
        • 45.3.2. 错误处理:PNG 示例
      • 45.4. 在 Chromium 中使用 CXX
      • 45.5. 练习
    • 46. 添加第三方 Crate
      • 46.1. 配置 Cargo.toml
      • 46.2. 配置 gnrt_config.toml
      • 46.3. 下载 Crate
      • 46.4. 生成 gn 构建规则
      • 46.5. 解决问题
        • 46.5.1. 构建用于生成代码的脚本
        • 46.5.2. 构建用于构建 C++ 或执行任意操作的脚本
      • 46.6. 依赖于 Crate
      • 46.7. 审查和审核
      • 46.8. 提交到 Chromium 源代码
      • 46.9. 及时更新 Crate
      • 46.10. 练习
    • 47. 综合应用练习
    • 48. 练习解答
    • 49. 欢迎
    • 50. no_std
      • 50.1. 最小示例
      • 50.2. alloc
    • 51. 微控制器
      • 51.1. 原始 MMIO
      • 51.2. PAC
      • 51.3. HAL Crate
      • 51.4. 板级支持 Crate
      • 51.5. 类型状态模式
      • 51.6. embedded-hal
      • 51.7. probe-rs 和 cargo-embed
        • 51.7.1. 调试
      • 51.8. 其他项目
    • 52. 习题
      • 52.1. 罗盘
      • 52.2. 解答
    • 53. 应用处理器
      • 53.1. 准备使用 Rust
      • 53.2. 内联汇编
      • 53.3. MMIO
      • 53.4. 编写 UART 驱动程序
        • 53.4.1. 更多特征
      • 53.5. 优化 UART 驱动程序
        • 53.5.1. Bitflags
        • 53.5.2. 多寄存器
        • 53.5.3. 驱动程序
        • 53.5.4. 开始使用
      • 53.6. 日志记录
        • 53.6.1. 开始使用
      • 53.7. 异常
      • 53.8. 其他项目
    • 54. 实用 Crate
      • 54.1. zerocopy
      • 54.2. aarch64-paging
      • 54.3. buddy_system_allocator
      • 54.4. tinyvec
      • 54.5. spin
    • 55. Android
      • 55.1. vmbase
    • 56. 习题
      • 56.1. RTC 驱动
      • 56.2. 解答
    • 57. 欢迎
    • 58. 线程
      • 58.1. 范围线程
    • 59. 通道
      • 59.1. 无界通道
      • 59.2. 有界通道
    • 60. Send 和 Sync
      • 60.1. Send
      • 60.2. Sync
      • 60.3. 示例
    • 61. 共享状态
      • 61.1. Arc
      • 61.2. 互斥器(Mutex)
      • 61.3. 示例
    • 62. 习题
      • 62.1. 哲学家就餐问题
      • 62.2. 多线程链接检查器
      • 62.3. 解答
    • 63. 异步基础
      • 63.1. async/await
      • 63.2. Futures
      • 63.3. Runtimes
        • 63.3.1. Tokio
      • 63.4. 任务
      • 63.5. 异步通道
    • 64. 控制流
      • 64.1. 加入
      • 64.2. 选择
    • 65. 误区
      • 65.1. 阻塞执行器
      • 65.2. Pin
      • 65.3. 异步特征
      • 65.4. 消除
    • 66. 习题
      • 66.1. 哲学家就餐问题
      • 66.2. 广播聊天应用
      • 66.3. 解答
    • 67. 谢谢!
    • 68. 词汇表
    • 69. 其他资源
    • 70. 鸣谢
    暂无相关搜索结果!

      本文档使用 BookStack 构建

      展开/收起文章目录

      分享,让知识传承更久远

      文章二维码

      手机扫一扫,轻松掌上读

      文档下载

      • 普通下载
      • 下载码下载(免登录无限下载)
      你与大神的距离,只差一个APP
      APP下载
      请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
      PDF文档 EPUB文档 MOBI文档
      温馨提示 每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
      下载码方式下载:免费、免登录、无限制。 免费获取下载码

      微信小程序阅读

      BookChat 微信小程序阅读
      您与他人的薪资差距,只差一个随时随地学习的小程序

      书签列表

        阅读记录

        阅读进度: 0.00% ( 0/0 ) 重置阅读进度

          欢迎使用【码灵薯·CoderBot】 码灵薯·CoderBot
          全屏 缩小 隐藏 新标签