реклама на сайте
подробности

 
 
> #define a _.a - что это значит?
ave!
сообщение Apr 29 2015, 07:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-05-11
Пользователь №: 65 166



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

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

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

Еще не знаю:

*J=_;
...
_=*J;

Надеюсь, кто-то знает и поможет мне.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Сергей Борщ
сообщение Apr 29 2015, 07:31
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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

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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ave!
сообщение Apr 29 2015, 07:53
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-05-11
Пользователь №: 65 166



Спасибо, все понял.

Сообщение отредактировал ave! - Apr 29 2015, 07:56
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 01:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016