for(;;)编译成汇编后是无条件转移,while(1)是要0和1进行一下比较的,所以从这个方向上看for(;;)是要比while(1)快的因为少了一个比较指令,但现在的编译器都是有一定的优化能力的,像while(1)这种会优化成和for(;;)一样的汇编代码。
while (1)
00D5138E mov eax,1
00D51393 test eax,eax
00D51395 je main+29h (0D51399h)
;
00D51397 jmp main+1Eh (0D5138Eh)
for ( ; ;)
00D51399 jmp main+29h (0D51399h)
更多精彩资讯,请扫码关注