История изменений
Исправление fsb4000, (текущая версия) :
Вопрос, как правильно передавать в процедуры упакованные элементы для их модификации?
Не использовать упакованные элементы - это самое правильное.
Если тебе просто заткнуть компилятор, то просто добавляй каст (void*), а потом на нужный тип:
(int *)(void *)&my_packed_struct.some_int
Но это будет работать на Intel/AMD, а на всяких arm будет ошибка шины скорее всего…
Если нужно чтобы работало везде и нужно использовать упакованные структуры, то создавай обычную структуру, копируй туда начальные значения из упакованной, потом в функцию передавай обычную структуру, потом копируй измененные данные в упакованную структуру, и надейся что компилятор это более менее оптимизирует.
Исходная версия fsb4000, :
Вопрос, как правильно передавать в процедуры упакованные элементы для их модификации?
Не использовать упакованные элементы - это самое правильное.
Если тебе просто заткнуть компилятор, то просто добавляй каст (void*), а потом на нужный тип:
(int *)(void *)&my_packed_struct.some_int
Но это будет работать на Intel/AMD, а на всяких arm будет ошибка шины скорее всего…