需要帮助理解 lowByte 和 highByte

Need help understanding lowByte and highByte

我是 C++ 的初学者,我想破译一些代码:

    #define lowByte(w) ((uint8_t) ((w) & 0xff))
    #define highByte(w) ((uint8_t) ((w) >> 8))

它看起来像变量声明,但我以前从未见过这种语法。谁能分解这两行并告诉我它们是什么意思?

这些是 macros 声明。

只要你的代码中有 lowByte(0x1234),它就会被宏的正确部分替换,用它们的值替换参数,即 ((uint8_t) ((0x1234) & 0xff)).

此步骤由 preprocessor 在编译之前执行。