реклама на сайте
подробности

 
 
> GCC и endian при обращении к данным
Hexxx
сообщение Sep 10 2008, 09:51
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 29-03-06
Пользователь №: 15 592



Портирую код с винды на AVR32. AVR32 - big endian (gcc), виндовый код - little endian(VS). Проблемы началась изза того, что виндовый код кишит наложением структур на данные. Т.е. получили массив данны, привели его к указателю на структуру, и пользуемся полями структуры. Данные в массиве тоже little endian, поэтому на винде все красиво работает через приведение к типу.
А если я AVR32 приведу little endian данные к указателю на структуру, компилятор будет считать, что там в структуре big endian данные и наступит хаос.
Есть ли какая-то возможность указать GCC endian для данных?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Sep 11 2008, 04:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



А не проще перед приведением к типу указателя добавить вызов функции, инвертирующей порядок байт?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016