返回信息流不同类型的比较可能会出现死循混问题,如下所示:
for(i=1;i<dwLen/2;i++)
{
wCheckSum^=(*pCheck);
pCheck++;
}
//binlen had already word alignment
return (wCheckSum);
......
由于循环变量i是int型(2个字节),而dwLen是DWORD型(4个字节),如果dwLen大于65536,那么该函数就是死循环了。
如何才能对这段代码产生warning的警告呢?
在线等answer, 多谢!
这是一条镜像帖。来源:北邮人论坛 / soft-design / #31093同步于 2008/11/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
help!如何解决不同数据类型的比较问题!!
luyuwei7
2008/11/14镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
没有,C/C++的编程思路就是,程序员知道自己在干什么,一切听从程序员的指挥,没有严格的类型检查。
如果你能拿到源代码的话,你可以全局查找/替换,把所有的int,都换成DWORD