Każdy kompilator C oferuje opcję „spakowania” struktur C (np. __attribute__ ((__packed__))Lub #pragma pack()). Teraz wszyscy wiemy, że pakowanie jest wymagane, jeśli chcemy wysyłać lub przechowywać dane w niezawodny sposób. Musiało to być również wymagane od pierwszych dni języka C.
Zastanawiam się więc, dlaczego spakowane struktury nie są częścią specyfikacji języka C? Nie ma ich nawet w C99 ani C11, chociaż konieczność ich posiadania jest znana od dziesięcioleci? Czego mi brakuje? Dlaczego jest specyficzny dla kompilatora?