Перейти к содержанию
    

#define a _.a - что это значит?

Нашел неизвестные для меня выражения в исходнике под Mega8, хочу перевести программу под STM32.

 

#define a _.a - что это значит?

 

Что такое #define я знаю, а вот "_." не знаю. Через поиск в интернете не могу найти.

 

Еще не знаю:

 

*J=_;

...

_=*J;

 

Надеюсь, кто-то знает и поможет мне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имена переменных могут начинаться с символа подчеркивания (хотя это и не рекомендуется - зарезервировано за стандартными библиотеками). Никто не запрещает сделать имя переменной состоящей из одного единственного подчеркивания. Судя по "_.a", в вашем исходнике переменная "_" - структура. Можно телепатировать, что это битовое поле с флагами, возможно в каком-то из регистров специального назначения. А #define - просто для сокращения записи "Flags_struct.Flag" до "Flag".

 

По второму вопросу: J - указатель, сами выражения - копирование из переменной "_" по указателю и обратно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...