(uint32_t)"1234"};
Но оно не работает. Можно как-то извратиться чтобы сделать такое?
вы пытаетесь из строки сделать число в компайл тайм? это не работает ни в Си ни в ++.
char str[8] = "QWER1234"
а как выравнивание по 4 байтам сделать?
переменной в целом? прагмы глянуть в документации на компилятор
понял, посмотрю
union
точно!
'там в строках только по 5 байт - ноль-терминированная
не понял ничего )))
"QWER" компилятор превратит в 'Q', 'W', 'E', 'R', '\0' - всего 5 байт
Тебе нужно массив двусерный делать Т.е. типа char array[2][] = {"text1", "trxt2"};
Зачем тебе выравнивание здесь? Если этого требует процессор - то компилятор+линкер сделают сами. Но если сильно хочется самому - ищи #pragma или align attribute gcc или armcc смотря какой у тебя компилятор
Pagma pack(push, 4) Pragma pack(pop)
Обсуждают сегодня