我有一个用于编译c源代码的sln文件。当我在VS2008中以发布模式编译它时,编译代码大约需要4分钟。但在调试模式下,编译代码只需1分钟。 我不明白发布模式和调试模式的区别。
有人可以帮助我吗?
答案 0 :(得分:4)
默认情况下,在Release配置中打开优化程序。是的,它需要时间来完成它的工作。链接器也不再进行增量链接,这可能会产生很大的不同。
你从来没有真正关心过这个问题,发布版本是你在完成或离开构建服务器时所做的事情。
答案 1 :(得分:3)
在调试模式下构建时,编译器所做的所有额外工作都是添加调试信息(为了简化,基本上是所有符号的表),这非常简单并且速度很快。在发布模式下构建时,编译器会进行大量优化,如果代码非常重要,那么这些优化非常耗时。
答案 2 :(得分:2)
在发布模式下,编译器花费了更多的精力来完成优化 - 这可能非常耗时,因为它与数独求解器或国际象棋引擎类似 - 它尝试了很多不同的选项来尝试查找在这种特殊情况下最好的一个。