当“while”中使用常量时,为什么 MSVC 会生成警告 C4127 - C

2023-11-27

对于代码,

while(1)
{
   /* ..... */
}

MSVC 生成以下警告。

warning C4127: conditional expression is constant

MSDN警告页面建议使用for(;;)代替while(1)。我想知道有什么好处for(;;)正在给出以及为什么它会警告不断使用while?

我应该在 GCC 上使用什么标志才能得到相同的警告?


恒定的条件通常只是错误。考虑一下:

unsigned k; 
...
while (k>=0) 
{
 ...
}

条件k>=0如果 k 是有符号整数,则有意义,但对于无符号整数则不然。粗心的开发人员忘记 k 被声明为无符号,并且他/她会使用它,就好像它可以用作负数一样。编译器会尽力提供帮助并警告您这一点,并且while(1)编译器陷入同一问题类别。for(;;)更可取,因为它明确意味着“永远循环”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当“while”中使用常量时,为什么 MSVC 会生成警告 C4127 - C 的相关文章

随机推荐

  • WPF 应用程序中的图像显示比在外部查看器中查看时要小

    当我在 WPF 应用程序中显示 JPEG 使用以下代码 时 它显示的大小明显小于在 Windows 图片查看器中以实际大小打开 JPEG 的情况 我在运行时深入研究了 ImageSource 的属性 我的图像具有 DPI 为 219 高度为
  • 如何在 pyinstaller 中添加静态(html、css、js 等)文件以创建独立的 exe 文件?

    我在用着QtWebEngineWidgets QtWebChannel创建 PyQt5 应用程序 它使用 HTML CSS JavaScript 当我们以一般方式运行时 即运行正常 python main py 导入 HTML 如下 cur
  • 如何创建一个支持sql转换的方法?

    我想使用我在查询中创建的方法 因为我需要实现一种特殊类型的过滤器 return manager Clients SelectAll Where cli gt cli Name SatisfyFilter filter Name cli La
  • 录制的视频方向错误

    我在用着mCamera setDisplayOrientation 90 旋转相机 这成功地改变了相机预览 但没有改变实际的 相机 因此录制的视频仍然是横向的 他们有办法做到这一点吗 这可能对你有帮助 mMediaRecorder setO
  • 前向填充 python pandas 数据框中除最后一个值之外的所有值

    我在 pandas 中有一个数据框 其中有几列我想转发填充值 目前我正在做 columns a b c for column in columns df column fillna method ffill inplace True 但是由
  • Timepicker Updatesourcetrigger=propertychanged 不更改值

    我在 Windows 窗体中托管 WPF 用户控件 在 wpf 用户控件中 我使用 wpfToolkit extended 中的时间选择器 如果我使用向上或向下键或仅在文本字段中输入时间 则尽管我使用的是 Updatesourcetrigg
  • python - 增加数组大小并将新元素初始化为零

    我有一个大小为 2 x 2 的数组 我想将大小更改为 3 x 4 A 1 2 2 3 A new 1 2 0 0 2 3 0 0 0 0 0 0 我尝试了 3 个形状 但没有成功 并且追加只能追加行 不能追加列 我不想遍历每一行来添加列 有
  • 如何使用 asp.net 将 .docx 转换为 html?

    Word 2007 将其文档保存为 docx 格式 这实际上是一个 zip 文件 其中包含大量内容 包括带有文档的 xml 文件 我希望能够获取 docx 文件并将其放入我的 asp net Web 应用程序中的文件夹中 并让代码打开 do
  • 检测两个div是否重叠[重复]

    这个问题在这里已经有答案了 可能的重复 jquery如何检测两个div是否接触 我花了很多时间试图弄清楚如何检测两个 div 是否重叠 我尝试了 gamequery 插件并像这样使用它 checkform collision checkfo
  • Android 上运行时的重复视图

    我已经为活动创建了布局文件 在此布局中 我创建了一个带有文本视图和编辑文本的 LinearLayout 现在我想创建额外的 LinearLayout 其外观和包含与原始 LinearLayout 完全相同的视图 但具有不同的文本 我还想在运
  • 批量更新Mongodb中匹配子文档的数组

    我正在 Mongodb 3 6 上运行 以下是我的文档的结构 其中存储产品列表的月度费率信息 id 12345 class com example ProductRates rates productId NumberInt 1234 ra
  • 如何在Qt中发出跨线程信号?

    Qt 文档指出信号和槽可以direct queued and auto 它还指出 如果拥有插槽的对象 生活 在与拥有信号的对象不同的线程中 则发出此类信号将像发布消息一样 信号发出将立即返回 并且将在目标线程的事件循环中调用插槽方法 不幸的
  • 在设备上记录数据并检索日志

    在 Xcode 中进行调试构建时 无论我使用的是模拟器还是实际设备 NSLog printf fprintf assert 和 NSAssert 语句都会出现在控制台上 如果我现在在设备上运行一个发布版本 假设我发送了一个测试飞行版本并在我
  • 有没有办法在 jQuery 中获得类似 JSONP 的 XML 获取?

    对于我正在开发的 Web 服务 我希望我的嵌入式代码 在客户端站点上 从驻留在我的域中的服务器脚本中获取 XML 文件 由于这是一个跨域请求 我想使用 JSONP 因为它似乎是此类 API 的事实上的标准 然而 对于我的应用程序来说 使用
  • Python OpenCV 从字节字符串加载图像

    我正在尝试像 PHP 函数一样从字符串加载图像imagecreatefromstring 我怎样才能做到这一点 我有 MySQL blob 字段图像 我在用着MySQLdb并且不想创建临时文件来处理 PyOpenCV 中的图像 注意 需要
  • 带选择列表的 Symfony 2 表单

    我如何使用 Symfony 2 中数据库表中的值创建选择列表 我有 2 个实体 Student and 课堂具有多对一关系 我需要创建一个包含以下字段的表单 name surname age 课堂 从可用课程中选择列表 In my 学生表格
  • 如何使用 FFmpeg 生成多分辨率 HLS 进行直播 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 请注意 SRS 支持为特定分辨率生成单独的 m3u8 文件 SRS 是否还支持为多种分辨率和比特率场景生成额外的主 m3u8 文件 所需的母版 m3u8 示例 EXTM3U EXT
  • Go 中的类型别名和类型定义有什么区别?

    类型别名 type A string 类型定义 type A string 它们之间有什么区别 我无法从规范中理解 type A string创建一个别名string 每当你使用A在你的代码中 它的工作原理就像string 例如 您不能在其
  • 从命令行检查是否安装了.NET

    Windows 中是否有类似以下内容的内容可以让我知道是否从命令行安装了 NET java version ruby version python version 您使用什么操作系统和命令 shell 通过 Windows 批处理文件 if
  • 当“while”中使用常量时,为什么 MSVC 会生成警告 C4127 - C

    对于代码 while 1 MSVC 生成以下警告 warning C4127 conditional expression is constant MSDN警告页面建议使用for 代替while 1 我想知道有什么好处for 正在给出以及为