Приведение указателей к порядку байтовC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Приведение указателей к порядку байтов

Сообщение Anonymous »

Код: Выделить всё

#include "stdio.h"

typedef struct CustomStruct
{
short Element1[10];
}CustomStruct;

void F2(char* Y)
{
*Y=0x00;
Y++;
*Y=0x1F;
}

void F1(CustomStruct* X)
{
F2((char *)X);
printf("s = %x\n", (*X).Element1[0]);
}

int main(void)
{
CustomStruct s;
F1(&s);

return 0;
}
Приведенный выше код C печатает 0x1f00 при компиляции и запуске на моем компьютере.

Но когда Я прошиваю его во встроенную цель (uController) и выполняю отладку, и обнаруживаю, что

Код: Выделить всё

(*X).Element1[0] = 0x001f
.

1. Почему результаты на ПК и встроенном целевом устройстве различаются?

2- Что я могу изменить в этом коде, чтобы он печатал 0x001f в случае ПК,
без изменения ядра кода (путем добавления опции компилятора или чего-то еще).

Подробнее здесь: https://stackoverflow.com/questions/174 ... endianness
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как заказать по нескольким столбцам в Spring Data JPA запрос с расчетом по порядку по порядку?
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как извлечь количество байтов из списка «байтов» и поместить в новый список «байтов»
    Гость » » в форуме Python
    0 Ответы
    123 Просмотры
    Последнее сообщение Гость
  • Приведение указателей функций в C++
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Приведение смарт-указателей без RTTI C++
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Почему приведение указателей к `void*` уменьшает размер двоичного файла?
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»