×
思维导图备注
Comprehensive Rust 简体中文 (202412)
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
54. 实用 Crate
Github
来源:Google
浏览
21
扫码
分享
2024-12-04 16:18:46
Useful crates
Useful crates
接下来介绍几个 crate,用于解决裸机编程中的一些常见问题。
当前内容版权归
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
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度