


我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
user3900194:
运行后,g_u16Data1还是等于2,虽然是结果对,但是还是很有疑惑,不知道啥原因,等待解答帮助,谢谢!



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
Young Hu:
回复 user3900194:
应该是compiler优化的结果,建议直接看汇编代码



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
user3900194:
回复 Young Hu:
这种情况遇到几次了,看汇编代码也进入了,只不过没有赋值,和c一样的。
和ccs编译器有关?我用的是ccs3.3



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
user3900194:
回复 Young Hu:
这种情况不知道是对的,还是错的,现在很揪心。



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
Young Hu:
回复 user3900194:
单步调试最好是看汇编代码,您看看汇编代码能够进去么?另外,if()里面的赋值语句没有执行,不会有问题的。



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
user3900194:
回复 Young Hu:
我看汇编了,汇编代码也能够进去,出现这样的情况,我想问下这到底是什么原因造成的,根本说不通啊。



我应用的是ccs3.3,dsp是28035,我想问下,g_u16Data1明明是2,为何还单步仿真时还进入两个if条件语句,虽然进了但是也没有按照if语句中的指令赋新值,这是为什么?
user3900194:
麻烦各位大侠帮忙解决这个问题,到底是什么原因造成的呀。
TI中文支持网




