To mój bitfieldostrzeżenie przy korzystaniu z bitfield unsigned char
struct {
unsigned char v64 : 1;
unsigned char leg : 7;
} valid;
Następnie pojawia się ostrzeżenie:
main.c:17:3: warning: type of bit-field ‘v64’ is a GCC extension [-pedantic]
main.c:18:3: warning: type of bit-field ‘leg’ is a GCC extension [-pedantic]
Jeśli zmieni się int
nie ma ostrzeżenia. Ale chcę bitfield bajt (unsigned char).
Jak?
'int' ma specjalne znaczenie wewnątrz pól bitowych. Co to jest "sizeof (struct valid)"? – Pubby
@Pubby: używając int, = 4; unsigned char = 1. – Fabricio
Jest to bardzo częste rozszerzenie kompilatora. Może powinieneś zignorować ostrzeżenie, by zjeść swoje ciasto i je zjeść. –