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

 
 
> Есть ли экономия байтов, IAR
muravei
сообщение Jul 24 2009, 06:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Экономит ли подобная запись что-нибудь :
Код
union TWI_statusReg // Status byte holding flags.
{
unsigned char all;
struct
{
unsigned char lastTransOK:1;
unsigned char unusedBits:7;
};
};


Могу ли я использовать остальные семь бит?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Jul 24 2009, 06:52
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(muravei @ Jul 24 2009, 09:22) *
Могу ли я использовать остальные семь бит?


Используйте остальные 7 бит по своему усмотрению smile.gif
Можете расписать все биты до последнего smile.gif
Я подобными битовыми структурами управляю шаговыми двигателями.
Но они увеличивают размер программы. У меня структура из 3х битовых полей расположенных в одном байте увеличивает размер кода на ~100 байт (там правда используется поле в 2 бита для определения текущей фазы управления и поэтому подрастает код). Если же использовать однобитовые поля то думаю компилятор перегрузит переменную в регистр и будет использовать стандартные комманды проверки бита что не особо повлияет на производительность и размер кода smile.gif
Ещё недостаток битовых полей - на них нельзя определить указатель.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 24 2009, 07:05
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(mempfis_ @ Jul 24 2009, 10:52) *
Ещё недостаток битовых полей - на них нельзя определить указатель.

Ещё один мощный недостаток - компилятор расставляет биты по своему усмотрению, в то время как метод маскирования однозначно определяет каждую позицию.
Если ваша флаговая переменная только "для внутреннего потребления", это неважно.
А вот если выводится наружу и взаимодействует с другими системами (например, программой на ПК), возможны неприятности.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 24 2009, 07:11
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(MrYuran @ Jul 24 2009, 10:05) *
Ещё один мощный недостаток - компилятор расставляет биты по своему усмотрению..]

Разумеется НЕТ.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:34
Рейтинг@Mail.ru


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