.gch和.pch预编译头有什么区别?

时间:2018-10-30 15:22:53

标签: c++ gcc clang precompiled-headers

默认情况下,gcc会生成.gch预编译头文件。但是clang需要.pch标头。在其他基于gcc的项目上使用clang运行scan-build时,由于此原因,我会收到错误。可能导致此问题的两种文件格式之间有什么区别?

1 个答案:

答案 0 :(得分:3)

主要区别在于,由clang预编译的标头仅与clang兼容,而由GCC预编译的标头仅与GCC兼容。这可能会引起您的问题。

此外,预编译的标头仅与特定版本的编译器以及特定的一组编译选项兼容。如果上述任何方面发生变化,则必须重新编译这些标头。