Udostępnij za pośrednictwem


/GL (Optymalizacja całego programu)

Umożliwia optymalizację całego programu.

Składnia

/GL[-]

Uwagi

Optymalizacja całego programu umożliwia kompilatorowi przeprowadzanie optymalizacji przy użyciu informacji na temat wszystkich modułów w programie. Bez optymalizacji całego programu optymalizacje są wykonywane na podstawie poszczególnych modułów (compiland).

Optymalizacja całego programu jest domyślnie wyłączona i musi być jawnie włączona. Istnieje jednak również możliwość jawnego wyłączenia go za pomocą polecenia /GL-.

Dzięki informacjom o wszystkich modułach kompilator może wykonywać następujące czynności:

  • Zoptymalizuj użycie rejestrów w granicach funkcji.

  • Lepsze zadanie śledzenia modyfikacji danych globalnych, co pozwala zmniejszyć liczbę obciążeń i magazynów.

  • Śledzenie możliwego zestawu elementów zmodyfikowanych przez wyłudzenie wskaźnika, zmniejszenie wymaganych obciążeń i magazynów.

  • Wbudowane funkcje w module nawet wtedy, gdy funkcja jest zdefiniowana w innym module.

.obj pliki tworzone z /GL programem nie mogą być używane przez narzędzia konsolidatora, takie jak EDITBIN i DUMPBIN.

Jeśli skompilujesz program za pomocą /GL polecenia i /c, użyj opcji konsolidatora /LTCG, aby utworzyć plik wyjściowy.

/ZI Nie można używać z programem /GL

Format plików utworzonych /GL w bieżącej wersji często nie jest czytelny w nowszych wersjach programu Visual Studio i zestawu narzędzi MSVC. Jeśli nie chcesz wysyłać kopii .lib pliku dla wszystkich wersji programu Visual Studio, oczekujesz, że użytkownicy będą używać teraz i w przyszłości, nie wysyłaj .lib pliku utworzonego .obj przez /GL program . Aby uzyskać więcej informacji, zobacz Ograniczenia dotyczące zgodności binarnej.

.obj pliki utworzone przez /GL pliki nagłówkowe i wstępnie skompilowane nie powinny być używane do kompilowania .lib pliku, chyba że .lib plik jest połączony na tym samym komputerze, na który został utworzony /GL .obj plik. Informacje ze .obj wstępnie skompilowanego pliku nagłówka są potrzebne w czasie połączenia.

Aby uzyskać więcej informacji na temat optymalizacji dostępnych za pomocą funkcji i ograniczeń optymalizacji całego programu, zobacz /LTCG. /GL udostępnia również optymalizację z przewodnikiem profilów. Podczas kompilowania optymalizacji z przewodnikiem profilu i jeśli chcesz porządkować funkcje z optymalizacji z przewodnikiem profilu, musisz skompilować z opcją /Gy kompilatora lub opcją kompilatora, która wskazuje /Gy.

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

Aby uzyskać więcej informacji na temat sposobu określania /GL w środowisku projektowym, zobacz /LTCG (Generowanie kodu w czasie połączenia).

Aby programowo ustawić tę opcję konsolidatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC