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

时间:2016-02-18 02:25:52

标签: c++ c visual-studio hyperlink

我尝试在网上查找差异,但无法获得很多。这两个选项听起来彼此相关:

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

  

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

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

  

启用整个程序优化。

有人知道确切的区别吗?

1 个答案:

答案 0 :(得分:5)

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

  /LTCG

隐含了

/GL

但是,/LTCG可以在不使用/GL的情况下使用。

  

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

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

  

/GL还可以进行配置文件引导优化;见/LTCG

什么是配置文件引导优化?这是profile guided optimization documentation开头的片​​段:

  

配置文件引导优化允许您优化输出文件,优化程序使用来自.exe或.dll文件的测试运行的数据。数据表示程序在生产环境中的执行情况。