INT64 LocalTime = 0;
UINT64 LastCom485ConnectTime = 0;
//ABS的宏定义
//-------------------------------------
// 求绝对值的宏函数
//-------------------------------------
#define ABS(x) ((x) >= 0? (x) : -(x))
BOOL IsCom485Connected()
{
return (ABS(LocalTime - LastCom485ConnectTime) < 1000);
}
//Warning[Pe186]: pointless comparison of unsigned integer with zero
///<remarks>
/// (LocalTime - LastCom485ConnectTime) 是无符号类型数据,与0比较就会有该Warning。
/// 数值运算的时候注意有无符号数据类型,数值运算最好都采用有符号类型数据。
///</remarks>
本文探讨了在C/C++中使用无符号整型变量进行数值运算时出现的编译警告Pe186,解释了警告产生的原因,并提出了将所有数值运算采用有符号类型数据的解决方案,以避免无意义的零值比较。

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



