-
- Это не косяк, а архитектура у STM8 такая, причем жестко фиксированная на big-endian. Оттого и в опциях компилятора нет переключения на little-endian. Но в тех архитектурах, где есть возможность выбора, компиляторы такую опцию имеют. - Ксения(09.05.2018 16:28)
- Скорее всего никак. Кто сказал, что переключение должно быть для такого примитивного контроллера? - VLLV(08.05.2018 11:58)
- Вот неприятность. Переписывать придется функции. А я так люблю конструкции вида *((u8_t*)&result + 1) = 0; - vesago(08.05.2018 12:01)
- Это не косяк, а фича. Как говорит fk0, за такие конструкции сжигать надо. Люди уже десятилетиями пишут htons/ntohs, и ничего, нимб не съехал :-) - SciFi(08.05.2018 12:03)
- То-то у меня не заработало часть функций, перенесенных копипастом. Очень удивился, когда под отладчиком увидел, что данные, записываемые в младший адрес переменной, появляются в старшей части. Ну разве не подлость? - vesago(08.05.2018 12:10)
- Потом выяснится, что sizeof(int) == 2, (1 << 16) == 0 и т.д. Очередная подлость :-) - SciFi(08.05.2018 12:12)
- Главное, чтобы не было sizeof(int) == sizeof(char) и CHAR_BITS == 16 - lloyd(08.05.2018 13:18)
- Потом выяснится, что sizeof(int) == 2, (1 << 16) == 0 и т.д. Очередная подлость :-) - SciFi(08.05.2018 12:12)
- То-то у меня не заработало часть функций, перенесенных копипастом. Очень удивился, когда под отладчиком увидел, что данные, записываемые в младший адрес переменной, появляются в старшей части. Ну разве не подлость? - vesago(08.05.2018 12:10)
- Это не косяк, а фича. Как говорит fk0, за такие конструкции сжигать надо. Люди уже десятилетиями пишут htons/ntohs, и ничего, нимб не съехал :-) - SciFi(08.05.2018 12:03)
- Вот неприятность. Переписывать придется функции. А я так люблю конструкции вида *((u8_t*)&result + 1) = 0; - vesago(08.05.2018 12:01)