【发布时间】:2013-01-30 09:50:43
【问题描述】:
我不知道是否已经有人问过同样的问题,但我在此处使用 [c] [macro] "##" 的高级搜索找不到它。
我想定义多个宏如下:
#define CHANNEL_0 0
#define CHANNEL_1 1
...
#define CHANNEL_31 31
我可以使用这个符号## 以简单的方式做到这一点吗?如何? 或者有什么办法?
谢谢!
【问题讨论】:
-
我认为这是不可能的。不能是带有参数的单个宏吗?类似
#define CHANNEL(x) x。 -
你不应该这样做。如果频道号是频道号,则只需使用
int。 C 标准库中没有像INT_FIRST 1这样的宏是有原因的。不要过度设计事物。 -
@H2CO3 这与过度工程无关。它使其他人更容易维护和理解代码。你不能只使用纯数字。