Skip to content

v0.13.0 深啊!很深啊的一个版本

Latest

Choose a tag to compare

@Charliechen114514 Charliechen114514 released this 26 Oct 01:32
· 8 commits to main since this release

v0.13.0:往系统深处走的一个版本!(2026-10-26)

这一个月,咱们把头埋进了系统底层。

v0.12.0 之后攒下来的四十二个 commit,一千四百三十八个文件变动,十二万四千行新增——和上一版同一量级。这一版的主线只有一个字:深。系统编程整卷落地,CPU 视角的新系列开张,编译技术原理卷补完动态链接的后半程。

主要是这些:

  • 系统编程卷(vol8-domains)整卷落地,Linux 二十三篇、Windows 十二篇,再加跨平台与思维篇
  • 新子系列《CPU 眼里的 C/C++》十一讲开讲,中英同步,还配了能在浏览器里跑汇编的执行器(感谢GPT大人,推平了太叼了)
  • 编译卷补六篇:ABI、符号可见性、运行时加载、程序启动、LTO 与现代链接器、动态库当可执行文件
  • 「每周一些题」更新到第六周,@owollz4 持续供题
  • @Karl-Heinrich-Marx-520 带来 Boost.Asio 社区教程六连,@xiaoshuaijie 带来 WSL2 远程开发教程三连和一篇 static inline constexpr
  • @ypj 用真基准数据修正了 vol5 的 fence 性能结论

系统编程整卷落地(#279)

documents/vol8-domains/systems-programming/ 四十篇正文,按四条线组织:

Linux 线二十三篇:文件 IO、终端、进程、内存、IO 多路复用、时间,六个主题从底层 syscall 起讲。这里有全卷最有嚼头的几处:死分支在汇编层零诊断的实证、getpid 这个「最快系统调用」的假基准拆穿、epoll 水平触发与边缘触发在同一根管道上并排对照。

Windows 线十二篇:文件 IO、控制台、进程、内存、异步 IO。和 Linux 线成对讲,同一个问题两套操作系统的两种答案。

跨平台线三篇:异步 IO 的平台差异、平台抽象层怎么设计、syskit 工程实战。

思维线两篇:RAII 范式与错误处理范式,收在方法论上。

全部结论有实测背书,八十多路实验进了文章。英文版在路上了,这一版先发中文,英文站的老朋友们请再等等!

《CPU 眼里的 C/C++》开讲,自带汇编执行器(#309)

vol10 新子系列 cpu-book,十一讲:i++ 与 ++i 到底差什么、函数调用与栈帧、寄存器传参、栈溢出为什么可能不崩、汇编里的类、页表游走、volatile 到底保证什么、返回值的一生、用 gdb 手动回溯、new 的汇编、模板实例化。中英各三十五篇,英文站这次同步跟上。

这一版的招牌是 asm-playground 在线汇编执行器:浏览器里直接跑汇编,十九个真实场景(入口地址用 nm 实打实解析出来的),嵌入双站十九篇文章。讲栈帧的文章里,读者可以自己改寄存器看栈怎么动。

编译卷补完动态链接后半程(#293、#285)

编译技术原理卷新增六篇:ABI 设计、符号可见性、运行时加载与插件、程序启动之前发生了什么、LTO 与现代链接器、动态库当可执行文件用。英文站十六篇同步跟上。

每周一些题:第四到第六周(#287、#305、#307、#308)

@owollz4 的供题节奏稳住了:week-04(GCD、大小写转换、列表最值、校验和四道)、week-05、week-06 全部上线,带题解。同期 crash-lab 新增第三课:堆缓冲区溢出,crash 与 fixed 两个版本对照着读。

社区来稿:Asio 六连与 WSL2 三连(#276–#278、#290–#292、#297–#301)

非常感谢如下大佬们的社区来搞!!!!

@Karl-Heinrich-Marx-520 的 Boost.Asio 教程六篇:从最基础的客户端服务端起步,过同步读写、异步读写,到完整异步服务器,再用协程重写一遍,最后落在 Beast 的 HTTP 实战。一条完整的网络编程入门路径。

@xiaoshuaijie 的 WSL2 远程开发教程:起步卷新增完整一篇,VS Code 怎么连进 WSL 的细化说明、常用管理命令一节的重构、WSL 卸载流程,全部中英同步。外加一篇 static inline constexpr 的社区来稿。

社区页面翻新(#295):作者页、投稿入口、话题页三个新页面,社区 UI 整体换了一版。

工程与修复

  • roadmap 重写打磨(#289),路线图的表述和结构都紧了一轮
  • vol5 fence 性能结论修正(#281、#282):@ypj 附上 x86 同指令的基准测试,把旧结论改对了
  • char8_t 相关内容补充(#284),卷一 Windows 搭建篇的不当描述修正
  • 书签页落地(#283),全站 URL 与 submodule 地址迁移统一
  • 一批老 issue 清理(#306)

点这里直接访问站点。

其他

嘿嘿,顺手清理了一大波issue,准备留给有效的迭代开发咯~

贡献者

非常感谢 @owollz4、@Karl-Heinrich-Marx-520、@xiaoshuaijie、@ypj 几位新老朋友的贡献!系统编程卷和 CPU 系列是维护者这一个月的主战场,而社区来稿让网络编程、WSL2 开发环境和每周的题目都活了起来。你们的出现,让 TAMCPP 能继续成为一个更优秀的 C++ 教学仓库!