Witam!
Potrzebuję zrobić pewne offsety pomiędzy danymi w strukturze.
Wszystko proste ALE:
Zarezerwowane miejsca nie mogą mieć nazw!
// przykladowy przyklad
struct struct_t{
char rsvd1[32];
int a;
char rsvd2[32];
int b;
};
Wymyśliłem coś takiego:
#define SPACE char:256
struct struct_t{
SPACE;
int a;
SPACE;
int b;
};
Lecz dostaję komunikat:
width of 'struct_t::<anonymous>' exceed its type
Warningów nikt nie lubi ;)
Wszystko zrozumiałe, ale jak to inaczej zrobić?
Uwaga:
- inty są przykładem, będą to różne typy o różnych długościach
- struktura jest obarczona atrybutem
__attribute__((packed))
- wszystko musi być statycznie, wszystko przygotowane podczas kompilacji