for(;;)
{}
这两个;; 空语句,编译器一般会优掉的,直接进入死循环
while(1)
{}
{}
这两个;; 空语句,编译器一般会优掉的,直接进入死循环
while(1)
{}
每循环一次都要判断常量1是否等于零,所以while需要更多的汇编实现
到这里就知道为什么,很多RTOS喜欢用for(;;)了吧
本文探讨了for(;;)与while(1)两种死循环的实现方式及其性能差异。for(;;)通常被实时操作系统(RTOS)偏好使用,因为它能被编译器优化成更简洁的指令集,而while(1)则需要每次循环都进行条件判断。
每循环一次都要判断常量1是否等于零,所以while需要更多的汇编实现
到这里就知道为什么,很多RTOS喜欢用for(;;)了吧

被折叠的 条评论
为什么被折叠?