gpt4 book ai didi

C 宏包装

转载 作者:行者123 更新时间:2023-12-02 07:28:56 25 4
gpt4 key购买 nike

所以我在用于 RF 通信的 C 库中遇到了以下代码:

#define __COMB(a,b,c) (a##b##c)
#define _COMB(a,b,c) __COMB(a,b,c)

主要用于为常量和函数创建各种名称。它只是连接参数。

我不明白的是第二行。是否有理由包装宏?如果这只是一个命名问题,为什么不直接写:

#define _COMB(a,b,c) (a##b##c)

图书馆可以找到here .

提前致谢!

最佳答案

这是一种欺骗 C 预处理器在连接参数之前预扩展参数的技巧。在某些情况下需要这种解耦,例如,如果要在预处理器宏参数字符串化中使用 __COMB

关于C 宏包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261995/

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