Нашел неизвестные для меня выражения в исходнике под Mega8, хочу перевести программу под STM32.
#define a _.a - что это значит?
Что такое #define я знаю, а вот "_." не знаю. Через поиск в интернете не могу найти.
Еще не знаю:
*J=_;
...
_=*J;
Надеюсь, кто-то знает и поможет мне.
Сергей Борщ
Apr 29 2015, 07:31
Имена переменных могут начинаться с символа подчеркивания (хотя это и не рекомендуется - зарезервировано за стандартными библиотеками). Никто не запрещает сделать имя переменной состоящей из одного единственного подчеркивания. Судя по "_.a", в вашем исходнике переменная "_" - структура. Можно телепатировать, что это битовое поле с флагами, возможно в каком-то из регистров специального назначения. А #define - просто для сокращения записи "Flags_struct.Flag" до "Flag".
По второму вопросу: J - указатель, сами выражения - копирование из переменной "_" по указателю и обратно.