http://blog.163.com/againinput4@yeah/blog/static/122764271200962305331388/
【问题】
某函数中:
unsigned int flags;
。。。。
local_irq_save(flags);
。。。。。
编译后,出现警告:comparison of distinct pointer types lacks a cast
去查找源码,发现这个函数 local_irq_save是宏定义,跟踪到最后是和将传入参数取地址赋值给unsigned long型的地址。
【解决办法】
所以,将 unsigned int flags;
换成 unsigned long flags;就可以消除那个warning了。

本文介绍了一个函数中因变量类型不匹配导致的编译警告问题。通过调整变量类型从unsigned int到unsigned long,成功解决了编译时出现的警告。
2534

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



