Warum widerspricht POSIX den ISO C-Standards [closed]

Sehenhttp: //pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/socket.h.htm

(http: //pubs.opengroup.org/onlinepubs/969991979 ist ab Ausgabe 7 - ab 2013 und immer noch gleich!)

sockaddr_storage soll in andere Strukturtypen umgewandelt werden, aber das widerspricht den Aliasing-Regeln der ANSI- und ISO C-Standards, soweit ich das beurteilen kann. (Auf Objekte kann möglicherweise nicht über Zeiger auf inkompatible Typen zugegriffen werden, mit der Ausnahme, dass über die 3 Zeichenarten auf alles zugegriffen werden kann und die Struktur und ihr erstes Element austauschbar sind.)

Ich weiß, dass diese Praxis des Arbeitens mit Sockets lange vor der Standardisierung von C existierte, POSIX jedoch ISO C-konform sein soll und tatsächlich den Standards in seinem Handbuch widerspricht. (Auch in neueren POSIX-Versionen.)

Warum haben sie es überhaupt so gemacht? Warum haben sie es nicht geändert?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage