调试版本和发布版本的区别

  • 一个发布版本一般意味着某些类型的优化,然而一个调试版本意味着没有优化。

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

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


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

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


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

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

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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页