2

我有一个用于编译 c 源代码的 sln 文件。当我在 VS2008 中以发布模式编译它时,编译代码大约需要 4 分钟。但在调试模式下,编译代码只需要 1 分钟。我不明白发布模式和调试模式的区别。

任何人都可以帮助我吗?

4

3 回答 3

4

优化器在发布配置中默认开启。是的,它需要时间来完成它的工作。链接器也不再进行增量链接,这可能会产生很大的不同。

您永远不会真正关心这一点,发布构建是您在完成或留给构建服务器时所做的事情。

于 2013-08-05T12:58:25.907 回答
3

在调试模式下构建时,编译器所做的所有额外工作都是添加调试信息(为了简化,基本上是所有符号的表),这非常简单并且速度很快。在发布模式下构建时,编译器会进行大量优化,如果代码不平凡,这些优化可能会非常耗时。

于 2013-08-05T12:59:29.133 回答
2

在发布模式下,编译器花费更多精力进行优化——这可能非常耗时,因为它与数独求解器或国际象棋引擎做类似的事情——它尝试了很多不同的选项来尝试找到最好的选项在这种特殊情况下。

于 2013-08-05T12:59:41.497 回答