导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→怎么使用关键字,使C51编译器不进行优化呢?[seandy]

 *第16034篇: 怎么使用关键字,使C51编译器不进行优化呢?

  
楼 主:seandy 2003年9月5日00:18
 怎么使用关键字,使C51编译器不进行优化呢?
我的程序是这样的:
ACC = ACC + CMD   <  < 8;
ACC = ACC + CMD;
其中CMD是外部芯片的一个寄存器,在这两个语句中我都需要它到外部读取该寄存器的,但是现在看它编译后的汇编发现执行完第一个语句后,CMD的值保存在R5中,再执行第二个语句时,它直接使用R5的值,而不是再到外部读取寄存器的值了。

我记得在C语言中好像有什么关键字限制CMD,这样编译后就不会出现我上面的问题了,不知是不是有这么个关键字?

  
2楼:荒原野草 2003年9月5日14:18
 这个问题遇到多次,我也很希望能有人知道如何解决!
  
3楼:yharbour 2003年9月5日17:08
 试试这个
好像是用关键字volatile,声明该变量在程序执行中可被隐含地改变。
  
4楼:seandy 2003年9月5日23:25
 试过了,这下更恨。编译器把第二个语句全部优化掉了!

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

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


[上一篇主题]:KEILC 编译时间太长问题---太奇怪了,请斑竹各位大侠帮帮忙,拿个主意

[下一篇主题]:聘请工程师