c - while(1) 的目的; C语句

标签 c while-loop

while(1); 的作用是什么?我知道 while(1)(没有分号)无限循环并且类似于自旋锁情况。但是我看不到 while(1); 可以在哪里使用?

示例代码

if(!condition)
{ 
  while(1);
}

注意:这不是 do-while() 或普通 while(1) 的情况。

最佳答案

请注意,所有有效的语言陈述都必须达到目的。根据语言的语法,它们是有效的。 可以构建许多类似的“无用”语句,例如 if (1);。 我看到这样的语句是条件语句(ifwhile 等)和空语句 ;(这也是一个有效语句声明,尽管它显然没有特定目的)。

也就是说,我在安全代码中遇到了while (1);。当用户使用嵌入式设备做了一些非常糟糕的事情时,最好阻止他们尝试其他任何事情。 使用 while (1);,我们可以无条件地阻止设备,直到经过认证的运算符(operator)手动重启它。

while(1); 也可以是内核 panic 实现的一部分,尽管 for(;;) {} 循环似乎更常见表达无限循环的方式,并且可能有一个非空体(例如 panic_blink() )。

关于c - while(1) 的目的; C语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278724/

相关文章:

c - GTK 中的启动画面

ruby - 如何理解 Ruby 中的结束标记/循环关系?

MATLAB 定时器在函数内部的行为与在命令窗口中的行为不同

php - Mysql 循环遍历行来检查行,直到找到计数为零的行

c++ - Clang 的写法中的 "annotated fallthrough"和 "partly annotated method"是什么?

c - C语言中如何初始化结构体指针?

c - 在 while 循环内返回一个表达式 - C 语言

c# - 循环遍历自引用对象

c - 使用 SSE 加速 lower_bound 函数

c - 如何将一些方程作为用户输入?