See http://pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/socket.h.html
(http://pubs.opengroup.org/onlinepubs/9699919799来自2013年的第7版,至今仍然如此!)
sockaddr_storage旨在转换为其他结构类型,但这与ANSI和ISO C标准的别名规则相矛盾, 据我所知。 (对象可能不通过指向不兼容类型的指针进行访问,但有一个例外,即任何内容 都可以通过3个char类型进行访问,并且结构及其第一个成员是可互换的。)
我知道在C标准化之前,使用套接字的做法已经存在了很长时间,但POSIX应该符合ISO C的标准, 实际上它在手册中与标准相矛盾。(即使在较新版本的POSIX中也是如此。)
他们为什么一开始就要这样做?为什么他们没有改变它?
dl_
函数族也存在同样的问题。 - Karoly Horvath