2016-02-18 3 views
3

Я пробовал искать в Интернете различия, но не мог получить много. Два варианта звука связаны друг с другом:В чем разница между/GL и/LTCG в Visual Studio

/LTCG: https://msdn.microsoft.com/en-us/library/xbf3tbeh.aspx

Опция/LTCG сообщает компоновщик для вызова компилятора и выполнить оптимизацию целого программы.

/GL: https://msdn.microsoft.com/en-us/library/0zza0de8.aspx

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

Кто-нибудь знает точную разницу?

+0

Полезная информация из документации по первой ссылке, которую вы указали «/ LTCG подразумевается/GL». –

+0

Согласен, но означает ли это, что/GL делает что-то большее, чем/LTCG? – neerad29

+0

Замечательная информация из документации по второй ссылке, которую вы указали «Если вы скомпилируете свою программу с помощью/GL и/c, вы должны использовать опцию/LTCG linker для создания выходного файла». –

ответ

3

/GL - вариант компилятора, а /LTCG - вариант компоновщика. Согласно документации, они тесно связаны друг с другом. Например:

/LTCG подразумевается с /GL

Однако /LTCG может быть использован без использования /GL.

Опция /LTCG указывает компоновщику, чтобы вызвать компилятор и выполнить оптимизацию всей программы. Вы также можете оптимизировать профиль.

Как оптимизируется управление профилем? Используя опцию /GL.

/GL также обеспечивает оптимизацию профиля профиля; см. /LTCG

Что такое оптимизация профиля? Вот отрывок из начала profile guided optimization documentation:

Профиль наведения оптимизации позволяет оптимизировать выходной файл, где оптимизатор использует данные из тестовых прогонов .exe или .dll файла. Данные показывают, как программа может работать в производственной среде.

Смежные вопросы