while(1);
的作用是什么?我知道 while(1)
(没有分号)无限循环并且类似于自旋锁情况。但是我看不到 while(1);
可以在哪里使用?
示例代码
if(!condition)
{
while(1);
}
注意:这不是 do
-while()
或普通 while(1)
的情况。
最佳答案
请注意,所有有效的语言陈述都必须达到目的。根据语言的语法,它们是有效的。
可以构建许多类似的“无用”语句,例如 if (1);
。
我看到这样的语句是条件语句(if
、while
等)和空语句 ;
(这也是一个有效语句声明,尽管它显然没有特定目的)。
也就是说,我在安全代码中遇到了while (1);
。当用户使用嵌入式设备做了一些非常糟糕的事情时,最好阻止他们尝试其他任何事情。
使用 while (1);
,我们可以无条件地阻止设备,直到经过认证的运算符(operator)手动重启它。
while(1);
也可以是内核 panic 实现的一部分,尽管 for(;;) {}
循环似乎更常见表达无限循环的方式,并且可能有一个非空体(例如 panic_blink()
)。
关于c - while(1) 的目的; C语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278724/