GCC用-O0和-O2给出不同的数值结果

4 c optimization gcc numerical

我正在使用4.1.2.有没有人对我的代码中最好的地方有任何想法?有共同原因的经验?有一些丑陋的指针类型转换(即d =(双)(*(*浮动)p),其中p为指针到INT)是我工作的消除,但没有运气呢.
对于它的价值,-O0给出了正确的答案.谢谢你的帮助.

Jus*_*cle 7

我将检查严格的别名问题,如下所示:http: //www.cellperformance.com/mike_acton/2006/06/understanding_strict_aliasing.html

如果不知道你的代码究竟做了什么,提到"丑陋的指针转换"会让我怀疑是否存在别名问题.

如果你提供了一些证明问题的代码,它对你有帮助,并使我们更容易回答.