2
A
回答
2
当预编译的报头,这一切开始等的通常的编译:
- 预处理器运行时,包括任何依赖的报头并执行宏替换
- 将所得的源代码是弯到编译器,其分析它并验证语法
- 然后编译器产生的AST,其编码语义代码
通常,这是在.cpp
文件上完成的,然后继续实际编译AST并生成可执行代码。但是,预编译头文件停止在那里,并且编译器将.gch
文件中的AST转储。
在进一步使用这个预编译头文件后,编译器可以直接从文件中加载AST并从那里读取,从而跳过上面列出的昂贵处理。
.gch
文件非常庞大,因为它包含了很多隐含在原始标题中的信息。但它与最终可执行文件的大小没有关系 - 编译时使用和不使用预编译头文件应该会产生完全相同的结果。
相关问题
- 1. C++ - 预编译头文件
- 2. 编译大型头文件C++
- 3. Objective-C++预编译头文件
- 4. C++重构预编译头文件
- 5. 预编译标准库头文件 - C++
- 6. 预编译资产的大小增加了很多
- 7. 预编译头文件
- 8. 预编译车把模板双打文件大小
- 9. MySQL tableName.Ibd文件大小很大
- 10. 位图文件头大小
- 11. 预编译头文件和编辑头文件
- 12. 预编译头,
- 13. 具有大文件大小的英特尔Fortran编译器
- 14. Boost预编译头文件问题
- 15. 如何避免预编译头文件
- 16. 使用Autotools预编译头文件
- 17. 预编译头文件设计问题
- 18. 预编译特征头文件
- 19. Xcode 6.1预编译头文件
- 20. 预编译头文件和Visual Studio
- 21. OpenGL预编译头文件跳过
- 22. 高效共享预编译头文件
- 23. xcode的gyp预编译头文件
- 24. 预编译头文件和MSBuild
- 25. 使用GCC预编译头文件
- 26. Eclipse CDT - 预编译头文件
- 27. 预编译头文件的问题?
- 28. 重建预编译头文件
- 29. CMake,Qt,gcc和预编译头文件
- 30. 检测预编译头文件