VS调试版本和发布版本

时间:2022-02-13 19:59:10
  • 一个发布版本一般意味着某些类型的优化,然而一个调试版本意味着没有优化。

调试版本的优化选项为:禁用(/0d)

发布版本的优化选项为:最大优化速度(/02)


对于发布版本,堆栈基址指针也许已经被优化了,这种优化通常称为帧指针省略(FPO)。

帧指针的省略隐藏了函数原型不匹配的错误,这仅仅在调试版本中函数返回时会导致崩溃。


  • 两个版本之间的明显不同还有

调试版本由于对内存分配做了跟踪,所以可以发现很多内存错误。

调试版本允许对内存的操作有4个字节的上溢出和下溢出,对程序不会有任何影响,然而发布版本会在发布的时候导致崩溃。


更多参考:http://blog.csdn.net/ithzhang/article/details/7575483