-
- Проц 32р, значит, полюбому, будет побайтный доступ. Мобуть юнион? - mse homjak(06.10.2020 00:01)
- а как юнион здесь поможет ? кратность то в любом случае 1, 2,4
байта или не ? - Aleksey_75(06.10.2020 00:04)
- Да никак специально не поможет. Упорядочит. Массив индексов в
памяти будет невыровненным, потому, тока байтовый доступ как к
трёхбайтному юниону. А там уже тип преобразовывать во что-то
удобоваримое. - mse homjak(06.10.2020 00:32)
- и массив и таблица индексов все #pragma pack (1) - Aleksey_75(06.10.2020 00:34)
- Ну прально, вы выровняли побайтно, но доступ вам нужно получить
имана к трёхбайтной структуре. Я не ф курсе, как кортекс относится
к таким вещам, тупо делает два чтения или вываливается в какой
эксепшын? - mse homjak(06.10.2020 00:44)
- пока у меня все кратно! но 4 байта для адресации многовато, вот и
хотел высвободить по байту с каждой записи, а там не кисло набегает
) завтра , переведу на битовые поля .. касаемо одно или два чтения
эт фиолетово, дольше считать с внешней флеши и развернуть - Aleksey_75(06.10.2020 01:01)
- Ох с битовыми полями аккуратнее :-)) грабли с нумерацией бит
периодически всплывают... особенно классно было при переходе с
более старого на более новый процессор, там для совместимости с арм
их переставили :-))) и рабрчий код стал нерабочим - sav6622(06.10.2020 10:54)
- Я вот другого не пойму - а с чего есть мнение, что битовые поля
дадут экономию. Они же всё равно занимют место кратно int, даже
если один бит используешь? Или в новых редакциях С это убрали? - symbions(06.10.2020 14:59)
- Нет, может быть разный размер, если уточнять unsigned, например
unsigned short, или в терминах student.h - VLLV(06.10.2020 15:22)
- Ясно. У меня в винавр что инт, что шорт - поэтому разницу и не увидел - symbions(07.10.2020 08:29)
- Нет, может быть разный размер, если уточнять unsigned, например
unsigned short, или в терминах student.h - VLLV(06.10.2020 15:22)
- Я вот другого не пойму - а с чего есть мнение, что битовые поля
дадут экономию. Они же всё равно занимют место кратно int, даже
если один бит используешь? Или в новых редакциях С это убрали? - symbions(06.10.2020 14:59)
- Можно придумать более хитрые схемы упаковки. Ещё один байт сэкономить. Гулять так гулять. - SciFi(06.10.2020 08:54)
- наверное, будет быстрее работать, если хранить 24 бита в виде двух
массивов, по байту, и по два. надо смотреть, что там генерится на
битовых полях. оно вообще их тупо интами не сделает? - Mahagam(06.10.2020 01:34)
- не был в этом замечен! битовое как определено так в памяти и лежит! хоть с stm хоть cvi - Aleksey_75(06.10.2020 01:45)
- Ох с битовыми полями аккуратнее :-)) грабли с нумерацией бит
периодически всплывают... особенно классно было при переходе с
более старого на более новый процессор, там для совместимости с арм
их переставили :-))) и рабрчий код стал нерабочим - sav6622(06.10.2020 10:54)
- пока у меня все кратно! но 4 байта для адресации многовато, вот и
хотел высвободить по байту с каждой записи, а там не кисло набегает
) завтра , переведу на битовые поля .. касаемо одно или два чтения
эт фиолетово, дольше считать с внешней флеши и развернуть - Aleksey_75(06.10.2020 01:01)
- Ну прально, вы выровняли побайтно, но доступ вам нужно получить
имана к трёхбайтной структуре. Я не ф курсе, как кортекс относится
к таким вещам, тупо делает два чтения или вываливается в какой
эксепшын? - mse homjak(06.10.2020 00:44)
- и массив и таблица индексов все #pragma pack (1) - Aleksey_75(06.10.2020 00:34)
- Да никак специально не поможет. Упорядочит. Массив индексов в
памяти будет невыровненным, потому, тока байтовый доступ как к
трёхбайтному юниону. А там уже тип преобразовывать во что-то
удобоваримое. - mse homjak(06.10.2020 00:32)
- а как юнион здесь поможет ? кратность то в любом случае 1, 2,4
байта или не ? - Aleksey_75(06.10.2020 00:04)
- Проц 32р, значит, полюбому, будет побайтный доступ. Мобуть юнион? - mse homjak(06.10.2020 00:01)