7: for (;1;)
0040D40F mov eax,1
0040D414 test eax,eax
0040D416 je main+31h (0040d421)
9: while (1)
0040D40F mov eax,1
0040D414 test eax,eax
0040D416 je main+31h (0040d421)
6: int i = 1;
0040D408 mov dword ptr [ebp-4],1
7: for (;;)
10: {
11:
12: i = 1;
0040D40F mov dword ptr [ebp-4],1
13: }
0040D416 jmp main+1Fh (0040d40f)
while (1) 和 for(;1;) 是一样的。
for(; ;) 根本就没有条件判断,只是一个跳转语句,从这个角度来讲的话,for(;;)的效率应该会比while(1)的效率高,因为其每次都会有将1赋值给eax,然后做and操作之后,判断z标志,进行跳转,相比而言,for(;;)做的可少多了。