У меня есть код, который выглядит примерно так, где addr - это sockaddr *:
struct sockaddr_in *sin = (struct sockaddr_in *) addr;
const char *IP=inet_ntoa(sin -> sin_addr);
Я считаю, что это очень типичный код для использования сокетов Беркли.
Однако, когда я компилирую это, я получаю следующее предупреждение:
dereferencing pointer 'sin' does break strict anti-aliasing rules
Поиск в Интернете, я нахожу некоторое обсуждение того факта, что мои действия довольно типичны, но это предупреждение компилятора также вполне реально и не очень хорошо.
Как правильно переделать этот код, чтобы исправить предупреждение, а не просто заставить его замолчать?