【发布时间】:2012-05-21 15:29:00
【问题描述】:
我今天在一次采访中被要求列出调试和发布版本之间可能出现的四个差异。我想它们意味着行为上的差异,而不是诸如调试信息之类的差异。我只能说出两个:
- 由于某些函数未内联,调试构建通常要慢得多。
- 由于速度差异,在具有竞争条件的多线程程序中,这些竞争条件可能仅在两个构建中的一个中变得明显。
我还能说出哪些其他差异?
【问题讨论】:
-
实际上性能差异通常是由于调试版本缺乏优化
-
…并且通常在调试版本中启用额外的检查。
-
调试构建通常链接到不同版本的运行时。
-
一些调试版本将空值分配给未初始化的指针。 stackoverflow.com/questions/186237/…
标签: c++