使用预编译 header 时,如果我包含一个 header (我已经包含在预编译 header 中,也包含在常规 header 中),这是否会有所不同(或产生不良影响)?
或者换句话说:当我在另一个头文件中包含头文件 x 并同时在我的预编译头文件中包含 x 时,这是否会阻止预编译头文件提供的优化发挥作用?
最佳答案
没有
(一般来说)。将要发生的是,在编译期间,如果您使用预编译 header ,并且编译器发现预编译形式中已存在的 header ,它将选择使用预编译形式。
事实上,继续使用您的包含是一种很好的做法,就好像您一开始就没有预编译头文件一样。如果您将来关闭预编译 header 或修改其中的 header 列表,或者其他人决定进行他们自己的不使用 PCH 的源外构建,这会有所帮助。
关于c++ - 预编译 header 和正常包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41614024/