LINUX下warning: cast from pointer to integer of different size问题

来源:互联网 发布:淘宝有卖宝马钥匙么 编辑:程序博客网 时间:2024/05/17 21:54
 我定义宏longlong最大范围
#define ULONGLONG_MAX   18446744073709551615
在LINUX下编译会有warning,

然后修改下宏定义
#define ULONGLONG_MAX (pow(2, 64) - 1)
warning神奇消失了。

使用表达式来代替特别大的数字,宏展开是在编译阶段,仅仅把宏名代换成
定义内容,替换文本当作一个字符串,并不会计算表达式。以此避免这类问题。





0 0
原创粉丝点击