VC.NET 的链接时代码生成 LTCG - Link-time Code Generation
来源:互联网 发布:淘宝试衣间如何使用 编辑:程序博客网 时间:2024/06/06 03:36
MSDN 原文:Link-time Code Generation
The Key:
C++ 程序正常的代码生成包括三个步骤:
1. 前端,C1, 读取源代码,产生符号表,分析源代码,检查语法正确性,产生某种中间代码(IL)。调用后端。
2. 后端,C2, 代码生成器,读取IL,产生针对CPU的具体代码,代码优化,产生包括实际代码和数据的obj文件。
3. 链接,Linker,读取所有的obj文件和lib文件,建所有的代码和数据合成到最终的.exe可执行文件中。
LTCG - Link-time Code Generation 链接时代码生成
1. 前端C1直接产生 IL 的 obj 文件。不调用C2。
2. Linker读取所有的 IL obj 文件和 lib 文件,调用C2,将所有的 IL 代码塞给C2以产生最终的实际代码。
好处:因为C2可以得到所有的代码,它可以进行更好的代码优化,更好的 inline (跨模块,跨源文件的 inline),和 TLS优化。
怎样打开LTCG
1. 在 VC.NET IDE 中,将Whole Program Optimization 设置为 Yes。
2. 命令行参数,编译器使用 /GL, 链接时使用参数 /LTCG
The Key:
C++ 程序正常的代码生成包括三个步骤:
1. 前端,C1, 读取源代码,产生符号表,分析源代码,检查语法正确性,产生某种中间代码(IL)。调用后端。
2. 后端,C2, 代码生成器,读取IL,产生针对CPU的具体代码,代码优化,产生包括实际代码和数据的obj文件。
3. 链接,Linker,读取所有的obj文件和lib文件,建所有的代码和数据合成到最终的.exe可执行文件中。
LTCG - Link-time Code Generation 链接时代码生成
1. 前端C1直接产生 IL 的 obj 文件。不调用C2。
2. Linker读取所有的 IL obj 文件和 lib 文件,调用C2,将所有的 IL 代码塞给C2以产生最终的实际代码。
好处:因为C2可以得到所有的代码,它可以进行更好的代码优化,更好的 inline (跨模块,跨源文件的 inline),和 TLS优化。
怎样打开LTCG
1. 在 VC.NET IDE 中,将Whole Program Optimization 设置为 Yes。
2. 命令行参数,编译器使用 /GL, 链接时使用参数 /LTCG
- VC.NET 的链接时代码生成 LTCG - Link-time Code Generation
- link time code generation
- Link Time Code Generation
- code generation的问题
- Code Generation in Microsoft .NET
- Automatically Code Generation 【自动代码生成】
- Impala学习--代码生成(Code Generation)
- Impala学习--代码生成(Code Generation)
- 代码生成(Code Generation with Bake)
- Coarunsoft Code Generation代码生成工具
- [code generation]代码自动生成背景介绍
- 通过Hibernate code generation configration反向生成实体类出现的问题
- 关于code generation的一些资料收集
- 递归生成格雷码 gray code generation using recursion(c++)
- Improving link time with IncrediBuild,减少联合编译器的链接是时间
- link.exe(VC链接程序)常用参数
- VC自带的cl编译器和link链接器 的参数
- .NET 环境下运行时代码生成和编译
- Delphi与C中的指针对比
- 临近2005年春节
- Linux 远程桌面设置
- 第一次出差失败小结
- ggggggggmgjgjgjkddd
- VC.NET 的链接时代码生成 LTCG - Link-time Code Generation
- HashMap 、 HashSet 、 HashTable
- struts 使用validate
- Active Directory Service Interfaces (ADSI) 2.5
- Active Directory Client Extensions
- JavaScripts 菜单Demo
- 【每日工作-第一天、第二天】Java基础知识
- 最近在看软件工程
- 心情随笔--2005年1月17日