ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
13 октября
1544155 Топик полностью
Eddy_Em (25.09.2025 12:07, просмотров: 86) ответил POV на Упаковка, упаковка. Но твой пример показателен - имеется несколько одинаковых стурктур, но есть упакованные а есть - нет. И компилятор позволил их присвоение друг другу... во всяком случае дозволил передать указатель упакованной как неупакованной безо всякого кастования, и далее уже присвоить. Keil6..
Как замечательно можно, казалось бы на пустом месте, получить сегфолт! Ну или как минимум порчу данных… 

С этими "упаковками" я столкнулся еще лет N назад, когда свою управлялку телескопом БТА рисовал. В оригинале есть структура данных в SHM, откуда берутся текущие параметры, а также там можно изменять некоторые вещи для отсылки команд. И структура эта была не упакованной! Разработка - на 32-битной архитектуре (понятно, что у меня была 64-битная). Еще и не строгие типы (т.е. int/long и т.п. вместо int32_t, uint64_t и т.п.). Замучился тогда править код автора, чтобы оно работало под любой архитектурой. А лет через несколько он и сам, видимо, перешел на 64 бита, и подправил.

eddy-em.livejournal.com github.com/eddyem