while(true)与for(;;)的区别

https://blog.csdn.net/u013346208/article/details/83988264

循环为什么不用While呢? for 和 while有什么区别呢?

对比了一下两者区别:
while
编译前:

while (true);  
1
编译后:

mov     eax,1 
test    eax,eax 
je      wmain+29h 
jmp     wmain+1Eh  
1
2
3
4
编译前:

   for(;;);
1
编译后:

jmp     wmain+29h       
1
由上面的结果可以看出
for编译器会优化成一条汇编指令,而while编译器会有很多条汇编指令

结果:for ( ; ; )指令少,不占用寄存器,而且没有判断、跳转
————————————————
版权声明:本文为CSDN博主「Jiang灬Hua」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013346208/article/details/83988264

for编译器会优化成一条汇编指令,而while编译器会有很多条汇编指令

结果:for ( ; ; )指令少,不占用寄存器,而且没有判断、跳转

原文地址:https://www.cnblogs.com/silyvin/p/12219810.html