大头
Table_bottom

标签云
Table_bottom

分类
Table_bottom

日历
八月
31123456
78910111213
14151617181920
21222324252627
28293031123
Table_bottom

评论
Table_bottom

留言
Table_bottom

微博
Table_bottom

热门文章
Table_bottom

随机文章
Table_bottom

豆瓣上谁关注这里
Table_bottom

链接
Table_bottom

搜索栏
Table_bottom

RSS
RSS Link
Table_bottom

功能
Table_bottom

页面
Table_bottom

计数器
447889
Table_bottom

访客统计
Table_bottom

存档
Table_bottom

defined but not used

在清除“defined but not used”编译warning时遇到一个因宏定义而产生的问题。

阅读全文

补充编译警告

在实际的工程中,往往会出现callback函数的参数类型,定义和实际使用的并不一致。要注意强制类型转换。

在某个 struct 定义中使用了 union,而此 union 中定义了两个结构,第一个结构包含5个 UINT8 类型的成员,第二个结构包含1个指针类型成员,1个 UINT16 类型成员,1个 UINT8 类型成员。工程中两个结构都会使用到,而编译器无法知道程序使用的是 union 中的哪一个成员,默认为第一个。由此产生类型不匹配的编译警告,这里有产生错误的隐患。

编译警告

一个项目,编译出近千条warning。

大部分大部分大部分是下面这四条导致的。

      1)局部变量定义后使用前没有初始化。
      2)函数体在调用处后,调用前没有声明。
      3)类型转换。
      4)比较运算符两边变量的类型不同。