导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→KEILC 烦!!!![浅海区]

 *第17157篇: KEILC 烦!!!!

  
楼 主:浅海区 2003年11月3日14:07
 KEILC 烦!!!!
以前都是用汇编,最近才用C51,写过几个小的程序,感觉都还不错,特别是一些内存分配组织管理方面能方便许多。但代码量都不超过4K,现在我用它写一个比较大的程序,还没完成,已经有10K以上了,可确碰到一些很烦的问题。明明程序是调试好的,再增加一些代码,而且是无关性的一些代码,就在运行时候出现莫名其妙的问题,甚至根本摸不清楚原因何在!!
   我用的是KEIL C7.0,编译模式是默认方式。 LARGE;
   我用的CPU是W78E58。11。0592M。
   不知道其他朋友有没有这样的问题,如果没有,请问能否解决这样的问题。

  用汇编写30K的程序也没有出现过这样的问题,不知为何,我现在有这样的问题出现、都想重新用汇编写了,但在时间上可来不及。哎......!

  
2楼:mcufan 2003年11月3日15:43
 将优化等级降低一点试试
  
3楼:浅海区 2003年11月3日15:54
 优化等级降低!我试过,但情况差不多.
优化等级降低!我试过,但情况差不多. 
我现在也没辙,只好拿以前备份一段程序,然后一点点往上加,非常的小心.一点把握也没有什么时候会出问题.
  
4楼:guest 2003年11月3日15:52
 我的心得
不要象PC机那样写程序。
我的心得:
1、尽量不要使用有符号数,不管是CHAR,INT,有利于提高速度;
2、不要用浮点库,那样会很大;
3、不要用乘除法如:a/10,a*10等等,那样也会很大;
4、有一些语句尽量分开写,如:a[index++],a[index >  >   2],不如写成,index++,a[index],或index = index >  >   2,a[index];
5、嵌套语句不要太多,那样容易产生一些意想不到的问题
6、中断中using ??,其中问号不要使用与主程序相同的寄存器组,否则它不会保护现场。
7、时间要求严格的话,使用C与汇编混合编程。
8、出现问题可以用KEIL仿真一下,看一下汇编代码是怎么样的,这样容易找出问题,在C原代码下,通常是不能发现的。
  
5楼:浅海区 2003年11月3日16:00
 谢谢,!
  
6楼:guest 2003年11月4日15:28
 answer
模式改为small,不要用中文注释,尽量将注释部分去掉。
c51没有你想象的那么烦,比汇编简单(当然是用熟了的话)
有问题可发:liuxia1217@sohu.com

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

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


[上一篇主题]:谁对精工打印头LTP1245-384熟(开发)

[下一篇主题]:快来帮帮我!