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

Posted silyvin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ( ; ; )指令少,不占用寄存器,而且没有判断、跳转

以上是关于while(true)与for(;;)的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java:运用while()与do....while与for()

javascript中while循环do....while与for循环的用法和区别

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

for(;;) 和 while的区别

for,while,do while语句区别以及常见死循环格式

for 循环与while循环的区别