This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ccs3.3开启优化后 程序运行结果错误是什么原因?



程序对时间要求很紧迫,用了O2优化,运行时间减少很多,但是结果有误!!什么问题?

sin = (AD_sin[0] + AD_sin[1])>>1 - OFFSET;

调试发现AD_sin[0] ,AD_sin[1都正常等于1500多,OFFSET为宏定义值,发现sin的结果一直等于零,非常奇怪。

  • qiang,

    一般不建议选择这个优化,因为优化后由于我们一般的代码编写不是非常规范,导致优化后编译出错或是运行出错。

    如果确实需要优化,需要下载SPRU514E这个文件,然后了得不同优化等级到底优化什么,优化后还需要调试。

    ERIC

  • 谢谢你!现在问题已解决了。

    sin = ((AD_sin[0] + AD_sin[1])>>1 )- OFFSET,改成这样就能得到正确的结果。

    之前优化时这条语句好像被省去了,所以运行时间也减少,现在开优化能正常运行,当然让运行时间和没开优化基本不变。