程序对时间要求很紧迫,用了O2优化,运行时间减少很多,但是结果有误!!什么问题?
sin = (AD_sin[0] + AD_sin[1])>>1 - OFFSET;
调试发现AD_sin[0] ,AD_sin[1都正常等于1500多,OFFSET为宏定义值,发现sin的结果一直等于零,非常奇怪。
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.
程序对时间要求很紧迫,用了O2优化,运行时间减少很多,但是结果有误!!什么问题?
sin = (AD_sin[0] + AD_sin[1])>>1 - OFFSET;
调试发现AD_sin[0] ,AD_sin[1都正常等于1500多,OFFSET为宏定义值,发现sin的结果一直等于零,非常奇怪。
谢谢你!现在问题已解决了。
sin = ((AD_sin[0] + AD_sin[1])>>1 )- OFFSET,改成这样就能得到正确的结果。
之前优化时这条语句好像被省去了,所以运行时间也减少,现在开优化能正常运行,当然让运行时间和没开优化基本不变。