-
- Не так всё просто... POV(126 знак., 18.04.2023 18:26)
- ARM Cortex-A9 (ARM v7). Абсолютно не парюсь в каком порядке располагать поля структуры с точки зрения выравнивания полей и стабильно использую "указатели на поля структуры". Переставлять "поля" я могу разве что мне требуется максимум быстродействия. В "этом" случае есть смысл переставить поля местами Zoro(306 знак., 18.04.2023 19:08)
- Насколько я знаю, катастрофа будет в только в М0, в остальных
просто потеряются такты на обращение. - IBAH(18.04.2023 18:31)
- Во всех, по идее, будет катастрофа. У всех есть аппаратное
прерывание по ошибке невыровненного доступа. Nikolay_Po(359 знак., 18.04.2023 18:51)
- Arm'ы сильно разные. RED_DRAGON(1 знак., 18.04.2023 19:41, ссылка)
- Во всех, по идее, будет катастрофа. У всех есть аппаратное
прерывание по ошибке невыровненного доступа. Nikolay_Po(359 знак., 18.04.2023 18:51)
- Такой парадокс. Структура пишится в Епром, и должна быть упакована,
но для оптимизации обращения к элементам структуры, они должны быть
выровнены. Выравниваю ручками. Хочу чтобы компилятор меня проверил. - IBAH(18.04.2023 18:26)
- Даже если немного ошибся с ручным выравниванием, и компилятор вставит лишнее заполнение, потеряешь пару байт. Перфекционизм - зло, выдавливай по капле. Если что, имею в виду, что "pack" отключено, так лучше. - SciFi(18.04.2023 19:45)
- Кстати, через X-Macro можно что-то такое провернуть. Посчитать сумму размеров полей структуры и сравнить с размером структуры. - SciFi(18.04.2023 19:40)
- Включите максимальную оптимизацию компиляции и оптимизацию во время сборки, LTO, то есть, ключик --flto у GCC. В разы увеличивается эффективность поиска потенциальных глюков кода. Включите все предупреждения -Wall (если не ошибаюсь). И предупреждения - ошибки -Werror. Много интересного узнаете о своём коде. Nikolay_Po(241 знак., 18.04.2023 19:08)
- Делайте как написал выше: большие элементы сначала. Спокойно пакуйте. Если переживаете, добавьте __attribute__((aligned)) в определении структуры. Nikolay_Po(504 знак., 18.04.2023 19:00)
- Не так всё просто... POV(126 знак., 18.04.2023 18:26)