Udostępnij za pośrednictwem


Optymalizacja kodu

Optymalizując plik wykonywalny, można osiągnąć równowagi między szybkie wykonywanie szybkość i kod mały rozmiar.W tym temacie omówiono niektóre mechanizmy, które umożliwia pomóc w optymalizacji kodu Visual C++.

Funkcje językowe

W następujących tematach opisano niektóre funkcje optymalizacji w języku C/C++.

Optymalizacja pragmy

Jeśli zoptymalizowane sekcji kodu powoduje spowolnienie lub błędy, można użyć optymalizacji pragmy, aby wyłączyć funkcję optymalizacji dla tej sekcji.

Należy wpisać kod znajdujący się pomiędzy dwoma pragmy w następujący sposób.

#pragma optimize("", off)
// some code here 
#pragma optimize("", on)

Programowanie praktyk

Podczas kompilowania kodu przy użyciu optymalizacji można zauważyć dodatkowe komunikaty ostrzegawcze.Takie zachowanie jest oczekiwane, ponieważ niektóre ostrzeżenia odnoszą się jedynie do zoptymalizowanego kodu.Można uniknąć wielu problemów optymalizacji, jeżeli uwzględnianie tych ostrzeżeń.

Paradoksalnie optymalizacji program dla prędkości może spowodować kodu działają wolniej.Dlatego niektóre optymalizacji szybkości zwiększyć rozmiar kodu.Na przykład funkcji eliminuje obciążenie związane z wywołań funkcji.Jednakże inline zbyt dużej ilości kodu może, należy program będzie tak duża, że numer strony pamięci wirtualnej błędów zwiększa.W związku z tym prędkość zdobyte eliminując wywołań funkcji mogą zostać utracone, aby wymiana pamięci.

W następujących tematach omówiono dobrych praktyk programowania.

Zoptymalizowany kod debugowania

Optymalizacja może zmienić kod utworzony przez kompilator, dlatego zaleca się debugowania aplikacji i zmierzyć jej wydajność i następnie optymalizacji kodu.

Poniższe tematy zawierają podstawowe informacje o tym, jak do debugowania.

Bardziej zaawansowane informacje na temat sposobu debugowania można znaleźć w następujących tematach.

Asortyment następujące tematy zawierają informacje dotyczące sposobu optymalizacji tworzenie, ładowanie i wykonywanie kodu.

Zobacz też

Inne zasoby

Odwołanie kompilacji C/C++