debug和release
来源:互联网 发布:范特昔淘宝店铺号 编辑:程序博客网 时间:2024/04/30 02:48
vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况,原因大致如下:
debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。
debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况,原因大致如下:
debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。
只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。
本次优化算法,并用gpu加速,重点不在于算法的正确性,而在于其效率,故采取release进行开发
0 0
- debug 和 release
- 深入浅出Debug和Release
- Debug和Release
- Debug和Release简介
- Debug 和 Release 区别
- 深入浅出Debug和Release
- Debug 和 Release
- Debug 和 Release
- VC DEBUG和RELEASE
- Debug和Release区别
- Debug和Release区别
- Release和debug
- Debug 和 Release
- release 和debug 区别
- Debug和Release区别
- Debug 和 Release 区别
- release 和debug
- Debug和Release区别
- elf,out,coff 三种Linux下可执行文件的历史渊源(二)
- scrollTo、scrollBy、getScrollX、getScrollY这4个方法的含义
- eclipse 阅读代码 快捷键 快速方便
- 链表逆序
- Eclipse背景颜色修改
- debug和release
- JS中typeof与instanceof的区别
- 【转】css透明度的设置 (兼容所有浏览器)
- CentOS 添加中文字体
- C++内存泄露的检测(一)
- 利用 org.apache.commons.io.FileUtils快速读写文件
- CString方法
- 在LinuxMint中对firefox进行手动安装flash插件
- apache 整合 tomcat