Код: Выделить всё
#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;
}
Но когда Я прошиваю его во встроенную цель (uController) и выполняю отладку, и обнаруживаю, что
Код: Выделить всё
(*X).Element1[0] = 0x001f
1. Почему результаты на ПК и встроенном целевом устройстве различаются?
2- Что я могу изменить в этом коде, чтобы он печатал 0x001f в случае ПК,
без изменения ядра кода (путем добавления опции компилятора или чего-то еще).
Подробнее здесь: https://stackoverflow.com/questions/174 ... endianness