我定义宏longlong最大范围
#define ULONGLONG_MAX 18446744073709551615
在LINUX下编译会有warning,
然后修改下宏定义
#define ULONGLONG_MAX (pow(2, 64) - 1)
warning神奇消失了。
#define ULONGLONG_MAX 18446744073709551615
在LINUX下编译会有warning,
然后修改下宏定义
#define ULONGLONG_MAX (pow(2, 64) - 1)
warning神奇消失了。
使用表达式来代替特别大的数字,宏展开是在编译阶段,仅仅把宏名代换成
定义内容,替换文本当作一个字符串,并不会计算表达式。以此避免这类问题。
本文介绍了在Linux环境下,通过使用表达式替代宏定义中的大整数值来解决编译警告的方法,以避免宏展开时可能产生的问题。详细解释了宏展开过程及如何正确使用表达式来提升代码质量。

9452

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



