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 ( ; ; )指令少,不占用寄存器,而且没有判断、跳转

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2022-12-23
猜你喜欢
  • 2021-11-12
  • 2021-12-24
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案