C++几种循环效率比较
第一种:
for (a = 5; a > 0; a--)
{
..........
}
编译后产生如下汇编代码:
MOV DWORD PTR [a], 5 ;为a赋初值
JMP CRITERIA ;无条件跳转到条件比较处
LOOP: MOV EAX, DWORD PTR[A] ;--┐
SUM EAX, 1 ; ├> a--
MOV DOWRD PTR [a], EAX ;--┘
CRITERIA: CMP DWORD PTR [a], 0 ;判断条件,即a是否大于0
JLE EXIT ;a<=0,退出循环
..........
JMP LOOP ;无条件跳转到a--处
EXIT:
第二种:<