GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP: A systematic modern C++ tutorial covering C++11-C++23, STL, concurrency, performance optimization, software engineering, embedded systems, networking, GUI, and real-world project practices.

BranchesTags
Open more actions menu

Latest commit

 

History

348 Commits
348 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude
.claude
 
 
.github
.github
 
 
changelogs
changelogs
 
 
code
code
 
 
documents
documents
 
 
scripts
scripts
 
 
site
site
 
 
third_party
third_party
 
 
todo
todo
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
.markdownlint.json
.markdownlint.json
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
CONTRIBUTORS.md
CONTRIBUTORS.md
 
 
LICENSE
LICENSE
 
 
README.en.md
README.en.md
 
 
README.md
README.md
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 

Repository files navigation

Tutorial_AwesomeModernCPP

English | 中文

一个持续建设的,面向工程实践的现代 C++ 系统教程:从 C/C++ 基础、到现代C++语言特性,再到标准库、并发、性能、工程化、领域应用与开源项目研读。持续的进步中! 试一试点一下下面的图片?

在线文档站首页预览 · 点击进入

C++ Release Tag License Build AI agent ready

QQ 交流群二维码 · 群号 1107100989 · 扫码进群
QQ 交流群(群号1107100989) · 点击加入


English Coverage 694/782 docs translated

嘿!这是什么?

这是一套正在持续进步的,系统化的现代 C++ 教程——从语法到芯片,把现代 C++ 写进桌面、STM32 嵌入式与工业级开源项目。

10 卷、从 C/C++ 基础一路讲到并发、性能、工程与领域实战,我们尝试将每一个概念转化为具体的代码,丢到CI机器验证(孩子们真没出错)

articles C++ standard embedded examples

谁可以来?

正在打算系统的学 C/C++ 的 bro 们 · 有 C 或嵌入式经验的 bro 们 · 已会 C++ 想补齐工程能力的 bro 们

特色亮点

🔧 从语法到芯片

深入 STM32F1 嵌入式——寄存器访问、中断安全、零开销抽象、交叉编译与链接脚本,打通裸机。

🧪 崩溃实验室

故意写崩的代码、修好的版本、一步步排查的实录——空指针、释放后使用,先崩给您看,再带您破案。

💻 不买板子,先点灯

嵌入式线以 Renode 模拟器为主验证环境:一条命令让固件在虚拟 Blue Pill 上跑起来,寄存器采样证明 LED 真的在闪。

📇 C++ 特性参考卡

C++98→23 一特性一卡,忘了语法随手查,不用翻回整章教程。

🔍 读真源码 · 读真会议

卷九研读 Chromium(如 OnceCallback),卷十是 CppCon 等会议演讲的读书笔记。

🌐 工程化 + 双语

VitePress(搜索 / 暗色 / GitHub Pages 自动部署)+ 中文主线 + 英文翻译。

马上开始

最快的方式是直接阅读在线文档:

  • 在线文档站

本地预览文档站:

git clone https://github.com/Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP.git
cd Tutorial_AwesomeModernCPP

pnpm install
pnpm dev
# 访问 http://localhost:5173/Tutorial_AwesomeModernCPP/
# 如果你是在WSL中,可能需要pnpm dev --host!

生产构建与预览:

HINT: 网站目前不计划检查 Windows 下的构建,意味着你极大可能无法在 Windows 下完成我们项目的构建。如果需要支持,请 Issue 摇我们,或者自行fork修复。

# 如果您的CPU核心大于4,我们推介加速构建,默认的构建脚本是为CI服务的,Github分配的机器有点小qaq
BUILD_CONCURRENCY=8 pnpm build
pnpm preview
# 访问 http://localhost:4173/Tutorial_AwesomeModernCPP/

每个示例都是独立 CMake 工程、CI 编译验证过——不是文章里跑不起来的伪代码。任选一个目录即可构建:

cmake -S code/examples/chapter05/06_array_vs_stdarray -B build && cmake --build build -j${nproc}

内容导览

可视化路线图(十卷内容地图 + 按背景选择学习路径)已整合进在线文档站首页的「项目路线图」区:

→ 在线查看可视化路线图

各卷一览

主线卷已成型,进阶卷持续补充——不藏进度:

卷 主题 成熟度
卷一 基础入门(含 C 速通) ✅ 成型
卷二 现代特性(RAII / 智能指针 / 移动 / lambda) ✅ 成型
卷三 标准库深入 ✅ 成型
卷四 高级主题(concepts / 协程 / 模板 / 设计模式) 🔨 在建
卷五 并发编程 ✅ 成型
卷六 性能优化 ✅ 成型
卷七 工程实践(CMake / 工具链 / 调试) 🔨 在建
卷八 领域应用(嵌入式 / TinyML / 网络等) 🔨 在建
卷九 开源项目研读(Chromium 等) 📚 持续更新
卷十 课程与演讲笔记(CppCon 等) 📚 持续更新

另含新手起步、「编译与链接」专题、崩溃实验室、社区文章与 C++ 特性参考卡。

📋 各卷内容与进度见 项目总路线图,版本变更见 changelogs/。

本地开发与质量检查

常用命令
命令 / 脚本 功能
pnpm dev 启动 VitePress 开发服务器,支持热更新(PS:WSL看不到的朋友记得加一个--host穿透)
pnpm build 生产构建,按分卷并行构建并合并搜索索引
pnpm build:single 使用 VitePress 单体构建
pnpm check:links 检查 Markdown 与组件内部链接有效性
pnpm preview 预览生产构建结果
pnpm hooks:install / scripts/setup_precommit.sh 安装 pre-commit 提交前检查
pnpm coverage 查看英文翻译覆盖率
pnpm coverage:update 更新 README.md 中的英文翻译覆盖率徽章
.venv/bin/python scripts/validate_frontmatter.py 验证文章 frontmatter
.venv/bin/python scripts/check_quality.py documents/ 内容质量检查
.venv/bin/python scripts/build_examples.py --host 编译主机侧 CMake 示例
.venv/bin/python scripts/build_examples.py --stm32 编译 STM32 示例工程
项目结构、版本与分支

项目结构

  • documents/ — 10 卷教程内容(中英双语),含 community / cpp-reference / compilation / projects 等区
  • code/ — 示例代码、STM32F1 工程与可复用模板
  • site/ — VitePress 站点配置、主题与插件
  • scripts/ — 构建、检查、覆盖率与内容工具
  • todo/、changelogs/ — 内容路线图与版本变更记录

完整目录与站点导航见在线文档站侧边栏。

版本历史

完整变更记录见 changelogs/。

如果你是维新派。。。可以使用 AI Agent 辅助!

本项目对 AI coding agent 开箱即用,也欢迎用 Agent 辅助学习与贡献!

  • 🤖 AGENTS.md —— 跨 agent 通用入口(Claude Code / Cursor / Copilot / Codex 等都读它)
  • 📚 用 agent 辅助 C++ 学习 + C++ 常见误解 FAQ
  • ✍️ Claude 专属资产(写作风格 / 审查命令 / hooks)见 CLAUDE.md

贡献

欢迎修正文档、改进示例、补充章节、校对翻译、提交问题、提出内容建议,或向 社区文章 投稿。请先阅读 CONTRIBUTING.md。

快速流程:Fork --> 特性分支 --> 提交 --> Push --> Pull Request

如有问题,欢迎在 GitHub Issues 中提交。

贡献者

这里感谢所有为本项目做出贡献的人!详见 CONTRIBUTORS.md。

贡献方式不限于代码,包括界面设计、插画、问题反馈、内容建议等。详见 CONTRIBUTING.md。

致谢

这个项目极大的受到下面这些项目和网站的启发,致敬前辈!

  • modern-cpp-tutorial
  • CPlusPlusThings
  • CppCon
  • C++ Reference

许可证与联系方式

  • 许可证:MIT License,随便改,fork,分发
  • Issues:提交问题,遇到任何疑问,或者发现代码存在显著问题,随意提,第一时间响应。
  • Email:[email protected]
  • QQ 群:TAMCPP 交流群(群号 1107100989),点这里一键加群
  • 组织:隶属于Awesome-Embedded-Learning-Studio

About

A systematic modern C++ tutorial covering C++11-C++23, STL, concurrency, performance optimization, software engineering, embedded systems, networking, GUI, and real-world project practices.

awesome-embedded-learning-studio.github.io/Tutorial_AwesomeModernCPP/

Topics

concurrencycppcpp-tutorialcpp20cpp23embeddedguimodern-cppnetwork-programmingperformancesmart-pointersstlstm32template-programmingtutorials

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

361 stars

Watchers

1 watching

Forks

54 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.