因此,我在用于射频通信的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)
该库可以在这里找到。
提前致谢!
这是一种欺骗C预处理程序的技巧,可在连接参数之前对其进行预扩展。在某些情况下,例如,如果__COMB
要在预处理程序宏参数字符串化中使用,则需要这种解耦。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句