对于干净的构建,预编译头可能比经典include慢
Can precompiled header be slower than classic include for clean builds?
我正在研究一个带有预编译头(stdafx.h
,指令Use
,指令Create
)的视觉工作室项目。除了几乎一直使用的外部头文件外,stdafx.h
中还有来自项目本身的50多个头文件。
我想知道一个干净的构建是否会更慢或更快没有预编译头。不幸的是,要尝试我将不得不大量修改整个项目(我最终会,因为耦合是一个问题)。
如果PCH中的头文件在项目中多次使用,则预编译的头文件构建将更快。由于头文件只编译一次,所以它不会比反复编译包含的头文件慢。
pch的最大缺点是它们隐藏了依赖关系,并导致在头文件中忘记包含。因此,如果有人想使用你的库,它可能会得到许多缺失的包括。
相关文章:
- 既然存在危险,为什么项目要使用-I include开关
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- C++包含来自 #include "DevEngine/Core.h" 的错误
- <filesystem> 在 clang 6 和 10 上 #include 错误
- 在 void 函数中使用 #include 变量C++
- N-API include an .so or dll
- 允许哪些令牌作为 #include 的参数?
- GCC 包含标头(使用"-include")CMake 未检测到的更改
- WebAssembly include OpenCV
- 如何在 c++ 中正确指定 #include 路径以使程序可移植
- 修改生成文件以简化框架 #include 路径
- VS2015/VC++ 在新类模板中禁用默认 #include "stdafx.h"
- macOS 致命错误:sys/_types/_int8_t.h:没有此类文件或目录 #include < sys/_types/_int8_t.h>
- #include < conio.h> 和 getch() 方法之间的关系是什么?
- 如何将构建的C++库安装到 /usr/include?
- /usr/include/c++/7/cstdlib:75:15:致命错误:stdlib.h:没有这样的文件或目录 #i
- 对于干净的构建,预编译头可能比经典include慢