gpt4 book ai didi

c - 警告 : comparison is always false due to limited range of data type in gcc 4. 1.2

转载 作者:IT王子 更新时间:2023-10-29 00:51:07 30 4
gpt4 key购买 nike

我遇到了来自 gcc 4.1.2 的以下警告:

warning: comparison is always false due to limited range of data type

相关的 C 代码如下:

if ( unlikely(count < 0) ) BUG();

其中“计数”是无符号的。

我试图禁用警告,因为不允许修改源代码:

-Wno-type-limits

但是gcc 4.1.2好像不支持。

cc1: error: unrecognized command line option "-Wno-type-limits"

还有其他方法可以消除此警告吗?

最佳答案

unsigned value 永远不会是负的——因此警告。与其说是“不可能”,不如说是“不可能”。

这通常表示某种代码中存在错误;编写代码时期望的类型可以允许负值,但该类型不允许负值。因此,由于预期不匹配,代码很可能会出现错误。

请注意,在某些机器上,普通 char是有符号的,其他的是无符号的(它是一种不同于 signed charunsigned char 的类型,尽管它的值范围与一个或另一个重叠)。

关于c - 警告 : comparison is always false due to limited range of data type in gcc 4. 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15398947/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com