
预编译头文件(Precompiled Header,简称 PCH)是 C++ 编译器提供的一种优化机制,用来加速重复包含大量头文件(尤其是标准库、第三方库等稳定不变的头)的编译过程。
为什么需要 PCH?
大型项目中,每个 .cpp 文件常以 #include iostream>、#include
怎么用 PCH?(以常见工具链为例)
关键不是“写一个头”,而是“约定+配置”:
- 选一个头文件作为 PCH 入口:比如 StdAfx.h(MSVC 习惯)或 pch.h(跨平台常用),里面集中包含所有项目中高频、不变、不常修改的头
- 先单独编译它生成 PCH 文件:例如 MSVC 中设置该文件属性为“创建预编译头”;Clang/GCC 用 -x c++-header 参数
- 其余 .cpp 文件开头必须第一行是 #include "pch.h"(MSVC 要求严格;Clang/GCC 可配 -include pch.h 绕过位置限制)
- 编译器自动识别并复用已生成的 PCH:只要头内容或编译选项(如宏定义、语言标准)没变,就跳过重编译
哪些头适合放进 PCH?
目标是“高频率引入 + 极少改动”:
立即学习“C++免费学习笔记(深入)”;
标签: 前端 工具 c++ ios stream 标准库 为什么
还木有评论哦,快来抢沙发吧~