/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
(Создание кода по каналу).
Задание данного параметра компоновщика программным способом
- См. раздел WholeProgramOptimization.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по