gpt4 book ai didi

c - "field"参数从何而来?

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:04 24 4
gpt4 key购买 nike

我正在从事硬件 RTL 仿真项目。我想从现有的 C 固件中了解一些配置位的位置。但是,我无法理解某些语法。代码在头文件中,我不明白“*field”和“val”从何而来。

#define __BITFIELD(__type, __name, __bit, __width)                 \

static inline __type __name(volatile const void *field) \

{ \

volatile const __type *ptr = field; \

return (*ptr >> (__bit)) & __BIT_MASK(__type, __width); \

} \

static inline void __name##_set(volatile void *field, __type val) \

{ \

volatile __type *ptr = field; \

*ptr &= ~(__BIT_MASK(__type, __width) << (__bit)); \

*ptr |= (val & __BIT_MASK(__type, __width)) << (__bit); \
}

最佳答案

fieldval 是参数。它们来自函数的签名,因此它们实际上就是您传递给函数的任何内容。他们来自你...

关于c - "field"参数从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614738/

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