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

 
 
> Вопрос по структуре.
Jenya7
сообщение Jan 19 2017, 07:19
Сообщение #1


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

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Сделал такую проверку.
Код
typedef struct MY_STRUCT_S
{
  uint8_t b1;
  uint8_t b2;
  uint8_t b3;
  uint8_t b4;
}MY_STRUCT;

MY_STRUCT struct1;

uint32_t n = sizeof(struct1);

n = 4. Без #pragma pack.
Кто кого обманывает?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k155la3
сообщение Jan 19 2017, 07:50
Сообщение #2


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



А вообще, зачем Вам надо знать размер структуры,
и, насколько я предполагаю, с точностью до байта,
да еще и в контексте #pragma pack(x) ?
Вам жалко компилятор, и Вы хотите ему помогать ? sm.gif
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Jan 19 2017, 07:58
Сообщение #3


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

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(k155la3 @ Jan 19 2017, 13:50) *
А вообще, зачем Вам надо знать размер структуры,
и, насколько я предполагаю, с точностью до байта,
да еще и в контексте #pragma pack(x) ?
Вам жалко компилятор, и Вы хотите ему помогать ? sm.gif

до сих пор я все поля делал uint32_t хотя у меня есть члены структуры для которых uint8_t достаточно. у меня есть довольно большая структура и есть массив этой структуы который отжирает много места в RAM. если я перейду с uint32_t на uint8_t я сэкономлю много места. но тогда компайлер будет выполнять операции boxing/unboxing?
Go to the top of the page
 
+Quote Post



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

 


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


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