gpt4 book ai didi

linux - 无法理解linux内核中max函数的实现

转载 作者:太空狗 更新时间:2023-10-29 11:18:03 25 4
gpt4 key购买 nike

(void) (&_max1 == &_max2) 有什么意义?在 Linux/tools/lib/lockdep/uinclude/linux/kernel.h 中找到 max 的以下定义?

#define max(x, y) ({                            \
typeof(x) _max1 = (x); \
typeof(y) _max2 = (y); \
(void) (&_max1 == &_max2); \
_max1 > _max2 ? _max1 : _max2; })

最佳答案

它帮助编译器检测 max() 的无效使用, 与不可比较的 xy。作为Sukminder指出,== 检查仅在编译时使用,它不会在生成的二进制文件中结束。

关于linux - 无法理解linux内核中max函数的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com