我尝试在网上查找差异,但无法获得很多。这两个选项听起来彼此相关:
/ LTCG:https://msdn.microsoft.com/en-us/library/xbf3tbeh.aspx
/ LTCG选项告诉链接器调用编译器并执行整个程序优化。
/ GL:https://msdn.microsoft.com/en-us/library/0zza0de8.aspx
启用整个程序优化。
有人知道确切的区别吗?
答案 0 :(得分:5)
/GL
是编译器选项,/LTCG
是链接器选项。根据文件,他们彼此密切相关。例如:
/LTCG
隐含了
/GL
但是,/LTCG
可以在不使用/GL
的情况下使用。
/LTCG
选项告诉链接器调用编译器并执行整个程序优化。您还可以进行配置文件引导优化。
如何启用配置文件引导优化?使用/GL
选项。
/GL
还可以进行配置文件引导优化;见/LTCG
什么是配置文件引导优化?这是profile guided optimization documentation开头的片段:
配置文件引导优化允许您优化输出文件,优化程序使用来自.exe或.dll文件的测试运行的数据。数据表示程序在生产环境中的执行情况。