uV4的程序优化选项有关问题

uV4的程序优化选项问题
  我的程序开着优化级别8时,程序是小了,只有5.4K,可是它跑出来的效果根本不是我设计的逻辑,
单步跟踪调试看汇编发现完全乱套的,把优化关掉优人选项选择0,程序编译出来7.4K,不过还好没超过8K,而且运行的效果是我所设计的效果。
  不知道是uV4哪一个选顶不合理,只要程序中有大量相似的代码片段,这个优化就可能出大问题,至少我就遇到两回不得不关掉编译器优化的情况,关掉才能跑出正常效果,我刚学C51就选了uV4,这都用一年多了,大家说说,是不是要退回到uV3啊,Keil uVision4都有问题,那个我还没用过的Keil uVision3保不准也有什么其它问题呢,有用过的前辈们给点意见

------解决方案--------------------
还真没注意这样的细节
------解决方案--------------------
我也遇到过这样的问题,不过优化等级只有4级哦,不同的等级运行起来效果都不一样,也不知道什么原因,后来就是优化等级最低的那个才跑通了程序,你上面说的volatile的原因,能具体分析下不?
------解决方案--------------------
STVD的开发环境也有类似情况的;
------解决方案--------------------
引用:
uV4绝对没那么傻,决不会把data、idata、xdata的全局变量优化成寄存器变量,我都说了是大量相似程序片段时才有优化出错情况,哪里关乎volatile什么事呢,再说了,在C51里,还有人用这个关建字么?


当年还用51的时候,确实用过这个关键字