GCC 和预编译头
预编译头旨在通过序列化通用头的预处理状态来优化 C 编译。然而,它们在现实场景中的使用引起了对触发重建的担忧。
何时重建预编译标头
GCC 需要首先包含一个通用标头源文件。任何后续的#define 或标头#include 指令都不会被预编译。因此,如果出现以下情况,则需要重新构建:
预编译头的编码风格
为了避免这些重建问题,GCC 建议采用限制性编码风格:
但是,这种风格可能并不总是符合现实世界的编码实践。
GCC 限制和复杂性
GCC 对预编译头的处理需要在 Makefile 中进行大量的手动配置。没有现成的模板可以完全解决潜在的陷阱。例如,当使用预编译头构建多个库时,需要复杂的 shell 脚本来检测和重建修改的头。
替代方法
由于 GCC 的复杂性预编译头实现,最好探索替代方法,例如as:
以上是我什么时候应该重建我的 GCC 预编译头?的详细内容。更多信息请关注PHP中文网其他相关文章!