以前在论坛上看到过一个公司的面试题是问i++和++i的效率哪个更高,心想难道这不是一样的吗?后来学了汇编语言的皮毛,再加上最近调试程序,又想起了这个问题。最近在网上查,有人说跟编译环境有关,而且现在优化之后两者的效率一样。无奈,只能自己在VC6上试试咯~~~反汇编如下:
从两者的反汇编可以看出,i++和++i在汇编中都是执行5条指令,i++还可以理解,但是++i为什么最后两条指令,不能直接用mov dword ptr [ebp-8], edx呢?
PS:公司的监控程序太恶心了,写个博客都不能保存。。。