码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-21 00:57:55      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:很多   pre   循环   链接   寄存器   mda   文章   不用   区别   

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(;;)的区别

标签:很多   pre   循环   链接   寄存器   mda   文章   不用   区别   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!