发布模式和调试模式之间的编译时间差异

difference in compilation time between release and debug mode

本文关键字:模式 之间 编译 时间差 调试 布模式      更新时间:2023-10-16

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

有人能帮我吗?

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

你从来没有真正关心过这一点,发布构建是你在完成或留给构建服务器时所做的事情。

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

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