/GL(оптимизация программы Кто)

Включает оптимизацию всей программы.

Синтаксис

/GL[-]

Замечания

Кто оптимизация программы позволяет компилятору выполнять оптимизацию со сведениями обо всех модулях программы. Без всей оптимизации программы оптимизация выполняется на основе каждого модуля (компилятора).

Кто оптимизация программы отключена по умолчанию и должна быть явно включена. Однако также можно явно отключить его с /GL-помощью.

С информацией обо всех модулях компилятор может:

  • Оптимизируйте использование регистров через границы функций.

  • Лучше выполнять отслеживание изменений глобальных данных, что позволяет сократить количество загрузок и хранилищ.

  • Отслеживайте возможный набор элементов, измененных указателем на разыменовку, уменьшая необходимые нагрузки и хранилища.

  • Встроенная функция в модуле, даже если функция определена в другом модуле.

.obj файлы, созданные с /GL помощью служебных программ компоновщика, таких как EDITBIN и DUMPBIN.

При компиляции программы используйте /GL/cпараметр компоновщика /LTCG для создания выходного файла.

/ZI нельзя использовать с /GL

Формат файлов, созданных в /GL текущей версии, часто недоступен для чтения более поздними версиями Visual Studio и набором инструментов MSVC. Если вы не хотите отправлять копии .lib файла для всех версий Visual Studio, которые вы ожидаете, что пользователи будут использовать, теперь и в будущем, не отправляйте .lib файл, состоящий из файлов, созданных .obj с помощью /GL . Дополнительные сведения см. в разделе "Ограничения на совместимость с двоичными файлами".

.obj Файлы, созданные /GL и предварительно скомпилированные файлы заголовков, не должны использоваться для сборки .lib файла, если .lib файл не связан на том же компьютере, где был создан /GL.obj файл. Сведения из .obj предварительно скомпилированного файла заголовка файла требуются во время ссылки.

Дополнительные сведения об оптимизации, доступной с ограничениями всей оптимизации программы, см. в статье /LTCG. /GL также обеспечивает доступность интерактивной оптимизации профиля. При компиляции для оптимизации профиля и при необходимости упорядочивания функций из управляемых оптимизаций профиля необходимо скомпилировать с /Gy помощью или параметр компилятора, который подразумевает /Gy.

Задание данного параметра компоновщика в среде разработки Visual Studio

Дополнительные сведения о том, как указать /GL в среде разработки, см. в разделе /LTCG (Создание кода по каналу).

Задание данного параметра компоновщика программным способом

См. также

Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC