我问我自己,我可以使用具有严格别名的 BSD 套接字,而不会通过使用 gcc 编译得到未定义的行为吗?
bind(sdListen, (struct sockaddr*)&sockaddr_inIdentifier, sizeof(sockaddr_inIdentifier))
据我所知,这行代码打破了严格的别名规则(并且 gcc 给了我同样的警告)。那么是否有一个计划 b,在 O3 模式下使用套接字而不进行严格混叠?当然,在不违反规则的情况下?还是我必须运行一个可以在所有系统/编译器上运行的自己的套接字系统?