<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>编译系统 on PlumePHP</title><link>https://plumephp.com/tags/%E7%BC%96%E8%AF%91%E7%B3%BB%E7%BB%9F/</link><description>Recent content in 编译系统 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 30 Sep 2026 19:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E7%BC%96%E8%AF%91%E7%B3%BB%E7%BB%9F/index.xml" rel="self" type="application/rss+xml"/><item><title>C++20 Modules 模块化与构建系统演进</title><link>https://plumephp.com/cpp-modules-build-system/</link><pubDate>Wed, 30 Sep 2026 19:00:00 +0800</pubDate><guid>https://plumephp.com/cpp-modules-build-system/</guid><description>&lt;p&gt;C++ 的编译模型自 C 语言继承而来，核心机制是&lt;strong&gt;文本替换式的头文件包含&lt;/strong&gt;。-model 给 C++ 工程带来了数十年的痛苦：数万行的头文件递归展开、宏污染导致的名字冲突、模板在每个翻译单元中重复实例化。编译大型 C++ 项目（如 Chromium、UE5）往往需要小时级别的时间，其中绝大部分花在重复解析相同的头文件上。C++20 引入的 Modules（模块）旨在从根本上解决这一问题，它用编译后的二进制模块接口（BMI）替换文本头文件，实现真正的编译隔离与增量编译优化。本文将系统介绍 Modules 的核心语法、partition 拆分策略、与 headers 的互操作，以及 CMake 3.28+ 的构建支持。&lt;/p&gt;</description></item></channel></rss>