gpt4 book ai didi

c - 这个泛型函数是如何使用的

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:46 25 4
gpt4 key购买 nike

我正在查看对某些寄存器进行了一些写入的代码。现在他们把它作为一个通用函数,所以写入不同的寄存器必须通过相同的函数:

   #define RGS(x) \
static inline void write_##x(u8 val) \
{ \
}

#define REGW(x) RGS(x)

write_wdc(val);

现在我想知道什么时候调用 write_wdc,它是如何被这些宏替换的。

最佳答案

这并没有显示实际使用的宏,为了使最后一行(调用)起作用,还必须有类似的内容:

REGW(wdc)

在代码的某处,使用宏。以上将由预处理器替换为:

RGS(wdc)

依次替换为

static inline void write_wdc(u8 val) { }

我假设您的宏声明中也缺少函数的主体,我希望其中有类似 x = val; 的内容来实际进行写入。

这使用 ## 预处理器运算符将单词“粘合”在一起。

关于c - 这个泛型函数是如何使用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18438653/

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