为什么国外的工程师在给单片机做死循环时喜欢用 for(;;) 而不是 while(1)?

发布时间:
2024-08-04 17:50
阅读量:
24

因为在很久以前,单片机的存储、内存、CPU都很紧张,真的是寸土必争。

某些编译器使用for(;;)比while(1)能少几条指令。


但现在的单片机性能强多了,不差那点儿,现代编译器优化也很好,for(;;)和while(1)不会产生什么可见的影响。


但是,编码习惯这种东西,一旦形成就很难改了,甚至会一代代传下去。


凡事一定要刨根问底,弄明白为什么要这么做,而不是盲目跟从。

如果你知道for(;;)这个写法的来源,以及当时是怎么考虑的,再结合现在的情况,你就会做出更好的判断。

END