Releases: Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP
Releases · Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP
v0.4.0, Great Update of Surfing Site; v0.4.0——站内浏览的提升版本
v0.4.0 (2026-05-26)
第三次功能版本更新:英文站点完整落地、Compiler Explorer 交互代码集成、Mermaid/DrawIO 图表渲染、指针语义深度示例,以及仓库瘦身清理。
新增内容
英文站点完整落地
英文翻译从零散状态升级为完整可用站点,覆盖所有核心卷:
- Compilation 卷:10 篇 + index,静态/动态库、符号可见性、运行时加载全量翻译
- C++ Reference:concurrency(4 篇)、containers(10 篇)、core-language(18 篇)、memory(5 篇)、templates(3 篇)及各 index
- Vol.1 Fundamentals:preface、C 语言速成、C++98 系列(6 篇)、语言选型等
- Vol.2 Modern Features:多篇现代特性文章翻译
- 站点页面:404 页、appendix/terminology、team、tags、projects、index
Compiler Explorer 交互代码集成(#24)
新增 code/examples/compiler_explorer/,支持在线修改编译条件并实时查看汇编输出:
- 14 个示例,覆盖 ARM / Host 双平台
- 主题包括:
arrayvs C 数组、constexpr、EBO、placement new、静态多态、结构体对齐、编译器选项、GPIO 零开销抽象等
指针语义深度示例(#28)
新增 code/examples/cpp-deep-dives/pointer-semantics/,从零实现并测试多种指针语义类型:
borrowed_ptr、observer_ptr:借用与观察语义weak_ptr、simple_weak_ptr、unsafe_weak_ptr:弱引用与生命周期验证weak_flag、weak_ptr_factory:配套设施- 含完整 CMakeLists.txt 及 4 组单元测试
并发练习手册(#31)
- 新增
vol5-concurrency/exercises/index.md,中英文双语同步上线
Vol.4 模板编程索引重构
- 清理草稿文章后,新增
vol4-advanced/vol2-modern-cpp17/index.md作为模板编程入口
站点增强
Mermaid 图表渲染(#28)
- 新增
site/.vitepress/plugins/mermaid-plugin.ts构建时插件 - 新增
site/.vitepress/theme/mermaid-client.ts客户端运行时 - Markdown 内 Mermaid 代码块可在站点中直接渲染
DrawIO 图表渲染(#30)
- 新增
site/.vitepress/theme/custom.css(+353 行),支持 DrawIO 嵌入样式 - 部分原有 Mermaid 图表迁移为 DrawIO 渲染
仓库清理
草稿与模板删除
- 删除
documents/vol4-advanced/下 5 篇未完成草稿(-3,300 行):template-overview、function-templates、class-templates、if-constexpr、cpp-templates-index - 删除
.templates/目录(article / platform-tutorial / reference-card / todo 模板) - 删除
.githooks/pre-commit(迁移至 pre-commit)
TODO 瘦身
- 清理 todo 目录 46 个文件(-6,160 行),移除已归档和过时条目
工程改进
- Hooks 迁移至
.pre-commit-config.yaml,统一使用 pre-commit 框架 - 更新
scripts/setup_precommit.sh适配新 hook 配置 scripts/build.ts:适配 Mermaid 插件集成scripts/check_links.py:增强链接可达性检查scripts/validate_frontmatter.py:校验规则更新scripts/cppref_card_generator.py:卡片生成器适配- 修复 CI 脚本错误(#30)
- 修复文档 404 URL(#26)
- 中文文章批量添加 Compiler Explorer 交互链接(vol1 多章、vol3、vol7)
v0.3.0 更多关键的教程!卷五(并发编程)全面重写、卷十(课程与演讲笔记)正式上线、贡献者体系建立,以及多项工程改进
v0.3.0 (2026-05-20)
卷五(并发编程)全面重写、卷十(课程与演讲笔记)正式上线、贡献者体系建立,以及多项工程改进。
新增内容
卷五:并发编程(全面重写,47 篇文章)
从零重写并发编程卷,覆盖从线程基础到分布式桥接的完整知识链:
- ch00 并发基础概念:并发与并行、硬件与软件线程、Amdahl 定律与 Gustafson 定律
- ch01 线程生命周期与 RAII:
std::thread、jthread、线程参数传递、detached 线程 - ch02 互斥量与条件变量同步:mutex 族、lock_guard / unique_lock / scoped_lock、条件变量模式
- ch03 原子操作与内存模型:
std::atomic、六种 memory order、SeqCst 到 Relaxed 的完整推导 - ch04 并发数据结构:线程安全队列、环形缓冲区、读写锁、无锁栈与 MS 队列
- ch05 Future、Task 与线程池:
std::future/std::packaged_task、可伸缩线程池设计 - ch06 异步 I/O 与协程:epoll/kqueue/io_uring 概览、C++20 协程、协程调度器
- ch07 Actor 与 Channel 模式:Actor 模型、CSP Channel、模式对比与选型
- ch08 调试、测试与性能分析:TSan / Helgrind、并发测试策略、性能剖析
- ch09 分布式桥接:网络序列化、gRPC 概览、分布式一致性基础
卷十:课程与演讲笔记(新增)
- CppCon 2025 笔记:
- Concept-Based Generic Programming — concepts 实战研读
- Some Assembly Required — 编译器后端与代码生成
贡献者体系
- 新增
CONTRIBUTORS.md,记录所有贡献者 - 文档站增加贡献者卡片页(中文 / 英文)
- README 同步展示贡献者列表
工程改进
- 修复搜索索引中中英文混合结果的排序问题(#20)
- 修复编译卷 404 错误
- 修复搜索功能崩溃问题(#22)
- Hook 优化:改进 404 检查逻辑
- 增强 CI 导航链接可达性检查(#10)
- Vol.1 基础类型章节内容修正(#15, #16)
文档与站点
- Vol.1
01-basic-types.md误导性内容修正 - 全站英文翻译保持 100% 覆盖
内容数据
| 指标 | 数量 |
|---|---|
| 文章总数(中文) | 411 篇 |
| 英文翻译 | 410/410(100%) |
| 卷五文章数 | 47 篇 |
| 新增卷 | 卷十:课程与演讲笔记 |
| 支持平台 | host / STM32F1 |
V0.2.0, Volumn 9 for Open Source Code Framework Ready
What's New
Vol9 开源项目阅读:Chrome OnceCallback
新增完整教程,以 Chromium 的 OnceCallback 为案例,系统讲解如何阅读和理解工业级 C++ 代码。
- 前置知识(6 篇):函数类型特化、invoke、lambda 进阶、concepts、move_only_function、deducing this
- 正文(6 篇):动机与 API 设计、核心骨架、Bind Once、Cancellation Token、Then 链式调用、测试与性能
- 实战(3 篇):设计、实现、测试
其他卷的内容仍然正在建设,请等待新的提交!
代码示例
- OnceCallback 完整实现 + Catch2 测试
- 11 个独立知识点示例,按 C++17/20/23 分级编译
CI Improvements
- 升级 GCC 14,支持 C++23 deducing this
- 引入 ccache + actions/cache 加速构建
V0.1.0, First Releases for Utils C++
v0.1.0 (2026-04-29)
这里是Tutorial_AwesomeModernCPP的首个发行版本,涵盖 Modern C++ 核心基础与嵌入式入门。
已完成内容
卷一:C++ 基础入门(全部已经完成)
- 完整的 C 语言速通教程
- C++ 类型系统、控制流、函数、指针、类、模板初步
- 70+ 篇文章
卷二:现代 C++ 特性(全部已经完成)
- RAII 与资源管理
- 移动语义与右值引用
- 智能指针(unique_ptr / shared_ptr / weak_ptr)
- constexpr 与编译期计算
- Lambda 表达式
- 57 篇文章
编译与链接深入
- 预处理、汇编、链接、调试符号
- 静态/动态库、符号可见性
- 10 篇文章
卷八:领域应用 — 嵌入式开发
- STM32F1 部分平台教程已经展开执行,目前完成的部分是LED和按钮!
- 外设管理、寄存器访问、交叉编译
- 48 篇文章
内容数据
| 指标 | 数量 |
|---|---|
| 文章总数 | ~185 篇 |
| C++ 代码示例 | 344 个 |
| C 代码示例 | 576 个 |
| CMake 构建项目 | 116 个 |
| 支持平台 | host / STM32F1 / ESP32 / RP2040 |
如下这些特性是正在开发中!
如果您对这些内容有所见解,欢迎到拉PR到本项目中,贡献您对这些主题的见解,或者是修定任何您对已有文章发现的错误!
- 卷三:标准库深入
- 卷四:高级主题
- 卷五:并发编程
- 卷六:性能优化
- 卷七:软件工程实践
- 卷八其余领域:网络编程、GUI、算法、数据存储
- 贯穿式实战项目