Udostępnij za pośrednictwem


Korzystanie z narzędzia Checkv4.exe

Ważny

Narzędzie Checkv4.exe nie jest dostarczane w zestawie Windows Software Development Kit (SDK) dla systemu Windows 8 ani w nowszych wersjach zestawu Windows SDK.

Narzędzie Checkv4.exe zostało zaprojektowane, aby służyć jako partner w portowaniu kodu; jest to narzędzie, które przewodniczy przez bazę kodu, identyfikuje potencjalne problemy lub wyróżnia kod, który mógłby skorzystać z funkcji lub struktur przystosowanych do IPv6, i daje zalecenia. Dzięki narzędziu Checkv4.exe zadanie modyfikowania istniejącej aplikacji IPv4 w celu obsługi protokołu IPv6 staje się znacznie łatwiejsze.

Narzędzie Checkv4.exe jest instalowane w ramach zestawu Microsoft Windows Software Development Kit (SDK), który został wydany dla systemu Windows Vista i kolejnych wersji (aż do, ale z wyłączeniem zestawu SDK dla systemu Windows 8).

Wcześniejsza wersja narzędzia Checkv4.exe z bardziej ograniczonymi funkcjami została również udostępniona w ramach wcześniejszej wersji microsoft IPv6 Technology Preview dla systemu Windows 2000.

W poniższych sekcjach opisano, jak używać narzędzia Checkv4.exe, a następnie wyjaśnić zalecane podejście do modyfikowania istniejącej aplikacji IPv4 do obsługi protokołu IPv6.

Zalecenia dotyczące uruchamiania Checkv4.exe

  • Narzędzie Checkv4.exe jest proste. Wystarczy wykonać Checkv4.exe w wierszu polecenia z nazwą pliku, który chcesz sprawdzić jako parametr. Checkv4.exe analizuje plik i przekazuje opinię na temat tego, gdzie występują problemy z przenoszeniem protokołu IPv6 w tym pliku. Umieszczenie Checkv4.exe na ścieżce komputera sprawia, że uruchomienie narzędzia Checkv4.exe z dowolnego miejsca w strukturze katalogu kodu źródłowego jest znacznie łatwiejsze. Na przykład umieszczenie Checkv4.exe w %windir% umożliwia uruchomienie Checkv4.exe z dowolnego katalogu na komputerze bez uwzględniania jego ścieżki.

  • Wydaj następujące polecenie w wierszu polecenia, aby przeanalizować plik Simplec.c:

    Checkv4 simplec.c

    Należy pamiętać, że niektóre zalecenia wprowadzone przez narzędzie Checkv4.exe wymagają struktur dostępnych tylko w ostatnich wersjach Ws2tcpip.h pliku nagłówka, takiego jak struktura SOCKADDR_IN6. Te pliki nagłówkowe są zawarte w zestawie Windows SDK wydanym dla systemu Windows Vista i nowszych. Te pliki nagłówkowe znajdują się również we wcześniejszym zestawie SDK (Platform Software Development Kit) wydanym dla systemu Windows Server 2003.

    Poniższy zrzut ekranu przedstawia wyniki użycia narzędzia Checkv4.exe w pliku Simplec.c zawartego w dodatku A:

    checkv4.exe zgłasza niezgodności ipv6 w pliku simplec.c

    Poniższy zrzut ekranu przedstawia wyniki użycia narzędzia Checkv4.exe w pliku Simples.c, który znajduje się również w dodatku A:

    checkv4.exe zgłasza niezgodności ipv6 w pliku simples.c

Proces modyfikacji aplikacji: gdzie rozpocząć

Istnieje zalecana procedura skojarzona z dodawaniem funkcji IPv6 do aplikacji. Wykonanie tej sekwencji jest korzystne, ponieważ umożliwia deweloperom zapewnienie, że wszystkie kroki niezbędne do zmodyfikowania istniejącej aplikacji IPv4 do obsługi protokołu IPv6 są wykonywane. Niektóre aplikacje mogą wymagać większej uwagi na jedną z tych sekwencji; na przykład usługa systemowa prawdopodobnie będzie miała mniej problemów z interfejsem użytkownika niż graficzny program transferu plików (FTP).

Aby zmodyfikować aplikacje IPv4 w celu obsługi protokołu IPv6

  1. Napraw struktury i deklaracje, aby umożliwić zgodność protokołów IPv6 i IPv4.

  2. Zmodyfikuj wywołania funkcji, aby korzystać z funkcji z obsługą protokołu IPv6, takich jak getaddrinfo i getnameinfo.

  3. Przejrzyj kod źródłowy pod kątem wykorzystania zakodowanych na stałe adresów IPv4, takich jak adres pętli zwrotnej, lub użycia innych dosłownych ciągów znaków.

  4. Wykonaj szczegółowy przegląd interfejsu użytkownika, w tym okna dialogowe informacyjne. Pomyśl, czy aplikacje z obsługą protokołu IPv6 mają określać lub udostępniać informacje oparte na adresach IP.

  5. Ustal, czy aplikacja korzysta z podstawowych protokołów, takich jak RPC, i wprowadź odpowiednie zmiany programowe w celu obsługi adresów IPv6.

  6. Użyj flagi czasu kompilacji IPV6STRICT podczas kompilowania aplikacji w systemie Windows XP lub nowszym. Ta flaga powoduje, że nie można skompilować niezgodnego kodu w następujący sposób:

    Aplikacje Windows Sockets 1.x z niekompatybilnym kodem nie kompilują się i zwracają komunikat o błędzie "WINSOCK2 wymagane".

    Aplikacje Windows Sockets 2.x z niezgodnym kodem powodują błąd czasu kompilacji dla każdego wystąpienia niezgodnego kodu. Komunikat o błędzie jest generowany w następującym formacie:

    [file name] ([line number]) : [error message] '[symbol]_IPV6INCOMPATIBLE'

    Na przykład:

    sample.c(8) : error C2065: 'gethostbyaddr_IPV6INCOMPATIBLE' : undeclared identifier