一. 介绍
1. debug 是调试版本, 包含调试信息,没有任何优化, 方便程序员调试用的.在此环境下,可以使用调试技巧,如监视, 内存等.
2.release 是发布版本, 往往已经进行了各种优化, 使得程序在代码大小和运行速度上都是最优的, 以便用户更好地使用. release虽也能调试,但不如debug环境下的调试操作优秀
二. 区别
1. 调试的区别 (如上)
2.文件大小的区别
debug 环境下生成的文件, 因为包含了调试信息, 所以占据的空间较大,
而release 环境下生成的文件,是给用户使用的, 不需要用户调试, 所以文件占据的空间较小.
3.反汇编的区别
debug 环境下
release 环境下
明显,release环境下的汇编代码少.
以上3种区别会因为编译器不同而会有不同的情况.
4.代码执行结果不同
在debug环境下, 结果是死循环, 而release 环境下是输出12个"hello".
造成debug 环境下的原因:
而release环境是对程序进行了优化,让i处于arr数组的下方,arr数组再怎么向上访问也访问不到i,就不会修改i中的值,所以不会死循环而打印出12个hehe。