导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→keil编译成功,为什么一些程序行无效,不能执行?急,急,急[guest]

 *第23380篇: keil编译成功,为什么一些程序行无效,不能执行?急,急,急!!!

  
楼 主:guest 2004年7月2日00:10
 keil编译成功,为什么一些程序行无效,不能执行?急,急,急!!!
用c51编了一个30k 的大 程序,用keil编译通过,用的是伟福的w77e58的仿真器,执行过程中发现:有少数行的前面没有小圆点,说明不能执行,实际仿真过程中也确实没有执行。不知道各位高手是否遇见过此类问题?如何解决?很着急,望高手指教!!!
  
2楼:liberty 2004年7月2日12:42
 确实有时候会有这种现象
这是编译系统自作聪明的结果,将系统认为不可能执行到的语句给忽略了。据我的经验,这种情况一般发生在条件判断中,编译器认为设定的条件永远不可能为真,则可能忽略后面的语句。例子很难举。
解决方法:
1. 修改条件语句的表达方法,比如 if(a==44) 改为 if( !(a-44) ) ,这只是个例子,还是要看实际应用。
2. 也是最有效的,打开汇编窗口,看看为什么会忽略
  
3楼:guest 2004年7月6日17:09
 还是不行啊!急急急
你的第一种解决方法不行啊.我的问题很奇怪. 在一个条件中,有些语句可以执行,有些就不行.
有一种解决办法是在无效行的前后加空操作,或者调换语句的顺序,有时候可以解决这个问题.
但是我的无效行太多了,而且都是比较重要的语句.很头痛.
至于第二种方法,我也搞不请啊
至今这个问题也不能解决.找不到规律.高手指教啊
  
4楼:liberty 2004年7月7日13:45
 如果是如Eastzsp所说的是逻辑错误,
如果是如Eastzsp所说的是逻辑错误,那么你需要的是学习如何调试。另外,如果不需要保密的话何不将有问题的程序贴一段出来,这样含糊的说恐怕没人能帮你
  
5楼:Eastzsp 2004年7月7日08:51
 不一定编译成功就能执行。
编译成功只能说明是没有语法错误,但不保证没有逻辑错误。

>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:请问!!1mm的6层板子的各层厚度??

[下一篇主题]:驱动共阴极数码管的放大电路集成芯片用什么好?