2010-06-01 49 views
1

我读了一些关于预编译头文件的问题,但找不到直接的答案。预编译头文件有助于重建吗?

我通常重建我的整个Visual Studio 2010解决方案。

我解决方案中的一个项目是一个C++/CLI项目。

我认为在该项目中使用预编译头可以提高编译速度。

经过一些实验后,似乎使用预编译头只会减慢重建过程。

预编译头文件是否仅对没有完全清理旧文件的版本有帮助?

编辑

例如,假设我StdAfx.h中只有1行:

#include <string> 
+1

请不要让我们猜测你的stdafx.h文件的内容。 – 2010-06-01 20:45:34

+0

我已更新该问题。其实,我的问题是通用的。当我进行重建时,预编译头文件可以使编译速度更快,还是总是重新编译预编译头文件,使其只能变慢? – brickner 2010-06-02 05:37:24

回答

4

这要看!

对于重建,这是编译预编译头部的额外成本和不必为每个源重新解析这些头部的速度之间的折衷。

如果您的许多源文件在预编译头文件中使用了许多相同的头文件,则应该会看到一些好处。否则,由于携带一整套头文件和拥挤的全局名称空间,您应该几乎看不到加速,或者更糟糕的是,速度减慢。

+1

我从来没有见过减速。但我认为它可能在某些特定情况下。 – 2010-06-02 06:01:34