在Visual Studio中/ GL和/ LTCG有什么区别

nee*_*d29 8 c c++ hyperlink visual-studio

我尝试在网上寻找差异,但收效不大。这两个选项听起来彼此相关:

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

/ LTCG选项告诉链接器调用编译器并执行整个程序优化。

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

启用整个程序优化。

有人知道确切的区别吗?

Jam*_*son 7

/GL是一个编译器选项,/LTCG是一个链接器选项。根据文档,它们彼此密切相关。例如:

/LTCG 被暗示 /GL

但是,/LTCG可以不使用而使用/GL

/LTCG选项告诉链接器调用编译器并执行整个程序的优化。您还可以进行配置文件引导的优化。

如何启用配置文件引导的优化?通过使用该/GL选项。

/GL还使配置文件引导的优化可用;看到/LTCG

什么是配置文件引导的优化?这是概要文件指导的优化文档开头的摘录:

概要文件引导的优化使您可以优化输出文件,其中优化器使用来自.exe或.dll文件的测试运行的数据。数据表示程序在生产环境中可能如何执行。