-
- Спасибо, offsetof() работает. Причем при попытке развернуть макрос, выкидывает
варнинг, обращение к невыровненным данным. Через макрос все ОК - IBAH(12.03.2021 15:41)
- Чего то я не понял, а в чем выигрыш? Ради чего все затевалось и что
получилось? Побайтовый же доступ остался, или при оптимизации
сворачивает? - VLLV(12.03.2021 15:53)
- В упакованной структуре, я вручную выровнял данные, а компилятор
все равно считает их невыровненными и обращается побайтно. Обидно,
да. При обращении через offsetof() копирование 2 команды LDR
R2,[R0, #+64] STR R2,[R1, #+4] - IBAH(12.03.2021 17:07)
- Странность на уровне поменял "unsigned char на uint8_t - поменялся
размер прошивки" (реальный случай) - VLLV(12.03.2021 17:16)
- По моему никаких странностей. Компилятор видит #pragma pack, и все
данные считает невыровненными, он не такой умный, чтобы считать
смещение. А offsetof() его путает окончательно, он даже варнинг не
выкидывает, и делает все в лоб. IBAH(666 знак., 12.03.2021 17:56)
- Я одного не пойму, зачем отказываться от ассемблера, а потом как бы
на сях писАть не менее зубодробительные пассажи? Тогда уж назад к
истокаммашинным кодам, так будет хотя бы честно. - SciFi(12.03.2021 18:09)- Хочу как Майкл Джордан! - IBAH(12.03.2021 22:27, youtube)
- Я одного не пойму, зачем отказываться от ассемблера, а потом как бы
на сях писАть не менее зубодробительные пассажи? Тогда уж назад к
- По моему никаких странностей. Компилятор видит #pragma pack, и все
данные считает невыровненными, он не такой умный, чтобы считать
смещение. А offsetof() его путает окончательно, он даже варнинг не
выкидывает, и делает все в лоб. IBAH(666 знак., 12.03.2021 17:56)
- Странность на уровне поменял "unsigned char на uint8_t - поменялся
размер прошивки" (реальный случай) - VLLV(12.03.2021 17:16)
- Обычно в "коробочке" данные обновляются в структуре, и по запросу хоста отдаются целиком "наверх". misyachniy(62 знак., 12.03.2021 16:34)
- В упакованной структуре, я вручную выровнял данные, а компилятор
все равно считает их невыровненными и обращается побайтно. Обидно,
да. При обращении через offsetof() копирование 2 команды LDR
R2,[R0, #+64] STR R2,[R1, #+4] - IBAH(12.03.2021 17:07)
- Чего то я не понял, а в чем выигрыш? Ради чего все затевалось и что
получилось? Побайтовый же доступ остался, или при оптимизации
сворачивает? - VLLV(12.03.2021 15:53)
- +1 за offsetof Oman(81 знак., 12.03.2021 13:37)
- Спасибо, offsetof() работает. Причем при попытке развернуть макрос, выкидывает
варнинг, обращение к невыровненным данным. Через макрос все ОК - IBAH(12.03.2021 15:41)