![]() |
|
Модераторы: xvr |
![]()
|
|
| null56 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
Добрый день
На одном процессоре возникла ситуация, когда требуется, чтобы все поля структуры были выровнены по 4 байтам. Одно решение мы нашли через приписку к каждому полю структур атрибутов
Вопрос: А нет ли в gcc инструкции, которая бы одним объявлением выравнивала все поля по заданному значению, аналог (push4 pop4 в msvc)? я не нашел в манах, может проглядел Пример ниже, выравнивает лишь саму структуру
Заранее благодарен всем откликнувшимся |
||||||
|
|||||||
| gormih |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.7.2007 Репутация: 1 Всего: 1 |
Ключ именно для struct такой вряд ли есть.
Никто не мешает расковырять исходники компилятора в части размерности данных, и заставить их всегда быть кратными 4 байтам. Правда будет не весело, когда int8_t будет занимать 32 бита... Это сообщение отредактировал(а) gormih - 28.3.2013, 16:55 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
> аналог (push4 pop4 в msvc)?
А что, pragma pack 4 не работает? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
||||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
volatile, чоткие посоны простых путей не ищут.
а ещё стоит отметить, что ТС спрашивал не про размерность данных -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
borisbn, на самом деле железячники мне неверно объяснили...
Упаковщик работает верно, как ты и сказал, падение может происходит не из - за упаковки. Если я правильно понял, то упасть blackfin может в следующем случае
в общем мне не ясна до конца задача, так что извиняюсь, если кого сбил с толку Добавлено через 3 минуты и 23 секунды а вот как это связано со структурами и выравниванием полей структур, я пока не понял |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |