Имеем код
foo.h:
typedef struct {
int X1:1;
int X2:2;
int X3:3;
}XXX_X;
extern volatile struct XXX_X ABC;
foo.c:
include "foo.h"
volatile struct XXX_X ABC;
void func(void)
{
ABC.X1 = 1;// вот тут выскакивает ошибка "invalid use of undefined type 'volatile struct XXX_X'", ругается на точку
}
В связи с этим вопросы
- Когда и зачем такое обычно применяют, потому что учебники я открыл, но похоже увидел фигу и нифига не понял зачем оно тут?
- Как это пофиксить?
- Как это пофиксить, не меняя самого кода, а чисто за счёт опций линковщика икомпилятора тк код не мой?
ЗЫ компилятор GCC, но до меня юзали кейл