C++ 在VS2008中,发布构建时间太长
当我构建项目时,如果发布的话,构建时间会得到很多时间 在发行版中,链接时间为:130秒 在调试中,同一项目的链接时间为:15秒 编译没有区别,但是链接有很大的区别C++ 在VS2008中,发布构建时间太长,c++,visual-studio,build,linker,release,C++,Visual Studio,Build,Linker,Release,当我构建项目时,如果发布的话,构建时间会得到很多时间 在发行版中,链接时间为:130秒 在调试中,同一项目的链接时间为:15秒 编译没有区别,但是链接有很大的区别 你知道为什么会这样吗?由于优化设置,发布版本可能较慢。通常,对于调试构建,您没有优化设置-这意味着生成的对象文件可能或多或少直接复制到输出中。另一方面,对于发布版本,您可能已经打开或应用了其他链接器优化。链接通常是受CPU限制的,通常只在单个线程中运行,所以它的速度有点慢。输出越大,情况似乎也越糟。我的经验是,在链接过程中,大部分时间
你知道为什么会这样吗?由于优化设置,发布版本可能较慢。通常,对于调试构建,您没有优化设置-这意味着生成的对象文件可能或多或少直接复制到输出中。另一方面,对于发布版本,您可能已经打开或应用了其他链接器优化。链接通常是受CPU限制的,通常只在单个线程中运行,所以它的速度有点慢。输出越大,情况似乎也越糟。我的经验是,在链接过程中,大部分时间都花在生成调试信息上。如果您尝试在没有调试信息的情况下链接,链接时间应该会大大缩短(我正在处理的项目从大约80秒缩短到大约10秒)。如果不是,那是另外一回事。在调试构建中,不正确的增量链接也可能导致较长的链接时间;我看到链接时间从1分钟增加到了5分钟。如果您想在保留调试信息的同时减少链接时间,请确保编译单元尽可能少,因为必须合并所有编译单元的调试信息。我通过将多个cpp文件合并到一个编译单元中,让一个cpp文件包含这些cpp文件来实现这一点 问候,
Sebastiaan我脑子里唯一能想到的是,您将FxCop设置为仅在发布模式下运行。这将在大型项目上造成显著的构建时间差异,因为如果启用,FxCop将作为构建过程的一部分运行 你能给我们一些关于你的解决方案的更多信息吗?比如说
- 什么语言
- 什么类型的项目
- 项目中的文件数
- 它是否从命令行重新编程