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. 檢測預編譯頭文件