Share via


/GL (Optimierung des ganzen Programms)

Aktiviert die Optimierung des gesamten Programms.

/GL[-]

Hinweise

Durch die Optimierung des ganzen Programms kann der Compiler Optimierungen mit Informationen zu allen Modulen im Programm durchführen. Ohne diese Option werden Optimierungen auf Modulbasis durchgeführt.

Standardmäßig ist die Optimierung des ganzen Programms deaktiviert, d. h., sie muss ausdrücklich aktiviert werden. Sie kann jedoch mit /GL- auch explizit deaktiviert werden.

Mit Informationen zu allen Modulen kann der Compiler

  • den funktionsübergreifenden Gebrauch von Registern optimieren;

  • Änderungen globaler Daten besser verfolgen, sodass die Anzahl der Lade- und Speichervorgänge verringert werden kann;

  • den möglichen durch einen Zeigerverweis geänderten Satz von Elementen besser verfolgen und die Anzahl der Lade- und Speichervorgänge verringern;

  • eine Funktion in einem Modul inline erweitern, auch wenn diese Funktion in einem anderen Modul definiert ist.

Mit /GL erstellte OBJ-Dateien stehen Linkerdienstprogrammen wie EDITBIN und DUMPBIN nicht zur Verfügung.

Wenn Sie das Programm mit /GL und /c kompilieren, sollten Sie zum Erstellen der Ausgabedatei die /LTCG-Linkeroption verwenden.

/ZI kann nicht mit /GL verwendet werden.

Das Format der mit /GL in der aktuellen Version erstellten Dateien kann möglicherweise von Folgeversionen von Visual C++ nicht mehr gelesen werden. Sie sollten nur dann eine aus mit /GL erstellten OBJ-Dateien bestehende LIB-Datei verteilen, wenn Sie eine Verteilung der LIB-Datei für alle Versionen von Visual C++ planen, die die Benutzer jetzt und in Zukunft verwenden.

Mit /GL erstellte OBJ-Dateien und vorkompilierte Headerdateien sollten nur dann zur Erstellung einer LIB-Datei verwendet werden, wenn die LIB-Datei auf demselben Computer verknüpft wird, auf dem die OBJ-Datei mit /GL erstellt wurde. Beim Verknüpfen werden Informationen aus der vorkompilierten Headerdatei der OBJ-Datei benötigt.

Weitere Informationen zu den verfügbaren Optimierungen des gesamten Programms und den Einschränkungen der Gesamtoptimierung finden Sie unter /LTCG. /GL macht auch profilgesteuerte Optimierung (PGO) verfügbar; siehe hierzu /LTCG. Wenn Sie für profilgesteuerte Optimierungen kompilieren und dabei die Funktionsanordnung nutzen möchten, müssen Sie mit /Gy oder einer Compileroption kompilieren, die "/Gy" impliziert.

So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest

So legen Sie diese Linkeroption programmgesteuert fest

Siehe auch

Referenz

Compileroptionen

Festlegen von Compileroptionen