Skip to content

Releases: Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP

v0.4.0, Great Update of Surfing Site; v0.4.0——站内浏览的提升版本

26 May 14:36

Choose a tag to compare

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 双平台
  • 主题包括:array vs C 数组、constexpr、EBO、placement new、静态多态、结构体对齐、编译器选项、GPIO 零开销抽象等

指针语义深度示例(#28

新增 code/examples/cpp-deep-dives/pointer-semantics/,从零实现并测试多种指针语义类型:

  • borrowed_ptrobserver_ptr:借用与观察语义
  • weak_ptrsimple_weak_ptrunsafe_weak_ptr:弱引用与生命周期验证
  • weak_flagweak_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 更多关键的教程!卷五(并发编程)全面重写、卷十(课程与演讲笔记)正式上线、贡献者体系建立,以及多项工程改进

20 May 05:25

Choose a tag to compare

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

03 May 03:57
5bcaeda

Choose a tag to compare

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++

29 Apr 01:35

Choose a tag to compare

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、算法、数据存储
  • 贯穿式实战项目