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