Поделиться через


/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