作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以将参数发送到 #define
宏以选择不同的输出
例如:
#define Row(1) LPC_GPIO0
#define Row(2) LPC_GPIO3
#define Row(3) LPC_GPIO2
然后在我的代码中我创建了一个用于发送参数的循环
Row(x)
最佳答案
此宏语法不存在。
此外,它不可能存在,因为宏在编译器编译代码之前被展开。如果您的 x
不是编译时常量,则永远无法确定要在宏调用的源代码中替换什么。
如果您需要索引一些值,只需使用数组,例如(假设这些常量是整数):
static int rows[] = { 0, LPC_GPIO0, LPC_GPIO3, LPC_GPIO2 };
写作
rows[x]
会产生您似乎从无效的宏语法中预期的效果。
关于c - 将参数发送给#define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45678353/
我是一名优秀的程序员,十分优秀!