登陆
|
注册
|
搜索
|
最近新帖
发帖子
|
共享我的资料
|
精华帖子
|
热门话题
导航:
老古网
→
老古论坛
→
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 编译时间太长问题---太奇怪了,请斑竹各位大侠帮帮忙,拿个主意
[下一篇主题]:
聘请工程师