Я начинающий с C ++, и я хотел бы расшифровать некоторый код:
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
Это выглядит как объявление переменной, но я никогда не видел этот синтаксис раньше. Может кто-нибудь сломать эти две строки и сказать мне, что они значат?
Те макрос деклараций.
Всякий раз, когда у вас есть lowByte(0x1234)
в вашем коде он будет заменен правой частью макроса, заменяя аргументы их значениями, то есть ((uint8_t) ((0x1234) & 0xff))
,
Этот шаг выполняется препроцессор до компиляции.