Нашёл у себя в ИАР то ли баг, то ли я тупой?
Напишу в этой же ветке, так как проблема почти один в один.
Такой вот код меня удивляет:
Код
char *ptr = getAddr();
float val = *(float *)ptr;
Я почему-то надеялся, что преобразуя байтовый указатель в любой другой он наследует его байтовое выравнивание (фактически отсутствие выравнивания) и компилер должен корректно считывать любые типы. Но что-то случилось...
Короче, кто из нас двоих тупой?