突发其想,在VC下单步调试了一下i++;
在汇编窗口看到的代码是:
- Assembly code
00411270 mov eax,dword ptr [i] 00411273 add eax,1 ;为什么是add而不是inc?00411276 mov dword ptr [i],eax
想问下怎么设置优化方式能让i++编译出来的结果是inc语句?
(我的环境是VC2008)
------解决方案--------------------------------------------------------
不懂,学习中。。。。!
------解决方案--------------------------------------------------------
学习一个。
------解决方案--------------------------------------------------------
inc 是自动加1,
add 可以随便加多少。
如果上面写的是inc而不是add 楼主是否会问为什么不是add呢。
------解决方案--------------------------------------------------------
INC指令用的不是EAX寄存器,忘了,记得当时学的是只能用于CX寄存器吧,32位的应该是ECX,猜的,
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
优化的效果是不是执行步骤少的那句优先
------解决方案--------------------------------------------------------
学习一个。
------解决方案--------------------------------------------------------
学习。。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
不懂。。。学习中