我在写一个几何计算类的程序,其中有大量的浮点计算,现在发现Release下和Debug下程序生成的结果有明显偏差,经初步分析,貌似Release下对浮点计算进行了大量优化(在项目属性里把2级优化关了,结果就和Debug下一样了),比如Release优化后的浮点指令的操作顺序变了,而且比Debug下的少了许多。Release下和Debug下生成的结果不同,对此,现在感觉很不爽,不知道那位大哥大姐也遇到的类似问题。最好多谈点浮点误差方面的经验,尤其是Release下和Debug下的区别。不胜感激!
调试欢乐多
Release和Debug的区别
浮点数计算结果会产生错误,是近似值,这是典型的计算机问题。
所以严格来说,这个问题跟什么debug,release或者优化都是没有关系的。是你
使用浮点数的方法不对。
而且在release版本下,本身就会进行一些对精度的修正优化