[英]Compiler design frontend calculation in the main function for Clang and Zig
主 zig 編譯器從Compilation.performAllTheWork執行。 這個 function 循環遍歷所有編譯項並編譯它們。 ( main() → buildOutputType → updateModule → Compilation.update → Compilation.performAllTheWork)
當從Compilation.updateStage1Module的工作隊列中找到 stage1_module 項時,將調用 Stage1(zig 0.8.0 中的默認編譯器,用 C++ 編寫)。 大部分編譯發生在codegen_build_object (從zig_stage1_build_object調用)
Stage2(用 Zig 編寫的工作中更快的編譯器)更緊密地集成到工作隊列中,因為它支持增量編譯並在工作隊列切換的這些分支中調用。
Clang 從某個地方開始,可能在clang.lib.frontend.CompilerInvocation中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.