/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: WholeProgramOptimization.
Zobacz też
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC