MFC编程笔记-debug与release

写的一个程序debug版本的release版本运行结果不一致, 深挖原因发现时变量初始化的问题。debug中可以不用初始化,但release下必须初始化,否则就会运行出错。

debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的,没有初始化过)。这样就明确了,如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在 debug方式下可能会忽略而不被察觉到,如debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了:( 还是自己多加注意吧! —-引http://www.cnblogs.com/cg_ghost/archive/2012/01/15/2322806.html

虽然很不要脸,但是还请您多多打赏 ^_^