私は C++ の初心者で、いくつかのコードを解読したいと考えています。
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
変数宣言のように見えますが、この構文は初めて見ました。誰かがこの 2 行を分解して、その意味を教えてもらえますか?
これらはマクロ宣言です。
コード内にある場合は常にlowByte(0x1234)
、マクロの右側の部分に置き換えられ、引数がその値に置き換えられます((uint8_t) ((0x1234) & 0xff))
。
このステップは、コンパイルの前にプリプロセッサによって実行されます。