因为手头有一个项目是用的IAR集成编译环境,所以对IAR的使用自我感觉还是比较熟悉了。但是,今天在编译工程时遇到一个warning老是解决不掉:“pointless comparison of unsigned integer with zero ”,代码就是 if (i<0) . 提示说我定义的 i 是unsigned整型的(我的定义是 char i;),不应该与0作比较。但是我明明是定义的有符号的啊,怎么就说我定义的是无符号型的呢,真的是冤枉啊!
在网上搜索也找不到什么好的解决方法。绝望之际,看到一个大侠的百度文章,这才恍然大悟。原来,IAR IDE中要使用带符号的变量char时就得使用signed char ,否则在约定变量范围的时候就会出现 "pointless comparison of unsigned integer with zero "的错误。
将char改为signed char 之后再编译,果然没有那个烦人的warnning了! 在此再一次感谢那位大侠~在大侠的文章中还有一些“不为人知”的关于IAR的地方,现在给出链接地址http://hi.baidu.com/douzidouer2008/blog/item/040d4c5013e6f113377abe40.html 各位童鞋,共勉啊!
首次发博~~大家理解加支持哈!^_^
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。