我是C ++的初学者,我想解读一些代码:
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
它看起来像变量声明,但我以前从未见过这种语法。有人可以打破这两行并告诉我他们的意思吗?
答案 0 :(得分:2)
这些是macros声明。
每当你的代码中有lowByte(0x1234)
时,它将被替换为宏的右边部分,用其值替换参数,即((uint8_t) ((0x1234) & 0xff))
。
此步骤由编译前的preprocessor执行。