写了一个不大的程序,Debug 模式下,一切正常,Release 模式下,出现莫名的错误。
具体现象为:代码正常执行,某函数 bool Init()
中也正常执行,应返回 true
,但是莫名其妙的变成了 false
,猜测是 visual studio 中 Release 模式下代码优化出现的错误。
仔细查看代码,发现自己代码中存在书写不规范(错误)的地方。即:函数 bool Init()
中,条件分支中有 return true
或者 return false
,但是在函数主体,最后处,忘记了写入 return true
。不知道是 Release 下优化问题,还是这种情况下默认返回 false
,加入 return true
后代码运行正确。
Debug 模式下没有任何问题,Release 模式下出现错误。好奇怪~
2018-04-18