//编译前 //编译后
while (1); mov eax,1
test eax,eax
je foo+23h
jmp foo+18h
//编译前 //编译后
for (;;); jmp foo+23h
for (;;)经常在源码中看到,它的优点是指令少,不占用寄存器,且没有判断跳转,比while (1)好。
两者在在宏观上完全一样的逻辑,但底层完全不一样,for相对于来说更加简洁明了。