【发布时间】:2014-06-12 22:53:23
【问题描述】:
如果#define 没有任何值,比如
#define COMMAND_SPI()
默认是0吗?
【问题讨论】:
-
究竟是什么阻止了您自己运行预处理器并查看会发生什么?
-
请注意,您已经定义了一个类似函数的宏,这意味着
COMMAND_SPI不会被扩展,除非它后面跟着一个带括号的参数列表。 -
@KerrekSB 一个系统在一个测试用例中的行为并不能保证所有系统的行为都相同(甚至相同的代码在同一系统上重新运行时行为相同)
-
@MattMcNabb:另一方面,观察到即使 one 符合系统 not 用
0替换宏也会立即破坏 OP 的假设.