KEIL编译出错?关于y=y++;

2020-02-04 09:28发布

850:           selkey1f=selkey1f++;
   851:     
C:0x03D3    AF12     MOV      R7,selkey1f(0x12)
C:0x03D5    0512     INC      selkey1f(0x12)
C:0x03D7    8F12     MOV      selkey1f(0x12),R7

在自己的机子上编译的,结果selkey1f不变化;用的kel4,而在同事的机子上keil2及keil4均编译为 INC selkey1f(0x12)。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
avrstm32
1楼-- · 2020-02-07 22:16
回复【24楼】any_014
---------------------------------------------------------------------
看看优化等级。如果还不行,就只有不采用Y=Y++;这种表达方式了。
eduhf_123
2楼-- · 2020-02-08 04:11
 精彩回答 2  元偷偷看……
i7gly
3楼-- · 2020-02-08 05:09
我个人觉得这样有歧义的程序尽量避免或者加括号,毕竟编译器是死的,不可能跟上人的思想……
lusson
4楼-- · 2020-02-08 09:30
我很奇怪楼主怎么想的。。
为什么会写出这样的语句
想加1直接就
i++
或者 i = i+1
或者 I += 1
为什么非要在这个问题上纠结,写一个简单明了的语句是有多么的重要啊
Alimy
5楼-- · 2020-02-08 15:23
y=y++;
搞不懂楼主到底想做什么?

一周热门 更多>