расширение GNU для GCC вводит возможность задавать в структурах безымянные поля типа
struct или
union, например, так:
Код
typedef struct {
uint8_t fix;
union {
uint8_t param;
void *ptr;
};
}flex_struct_t;
flex_struct_t rec;
и потом в зависимости от условий обращаться
rec.param или
rec.ptr, как будто эти поля родные для структуры. все хорошо (если не считать того, что
Eclipse такой записи не понимает и не подсказывает при вводе имена этих объединенных полей), пока не начинаешь запихивать такие структуры во
flash:
Код
PROGMEM flex_struct_t fixed = {.fix=0, .param = 123};
приводит к ошибке
unknown field 'param' specified in initializerвопрос, как обычно, традиционный:
что делать? это баг или фича?
Я бы взял частями... но мне надо сразу.