編譯器
關於LLVM的基本架構,下列何者正確?
- A是C語言專用的編譯器,無法用於其他語言
- B僅以特定CPU為對象的組譯器與連結器的組合
- C以共通的中介表示為中心,組合前半部與後半部
查看答案與解析
正確答案:C. 以共通的中介表示為中心,組合前半部與後半部
LLVM是以稱為LLVM IR的共通中介表示為中心的編譯器基礎架構。從C/C++的Clang開始,各種語言的前端會將原始碼轉換為LLVM IR,經過共通的最佳化階段後,再由面向x86、Arm、RISC-V、GPU等眾多CPU的後端產生機器碼。其優勢在於要支援新的語言或CPU時,只需製作其中一側即可。它既不是C語言專用,也不是特定CPU專用。
- A. 有許多語言的前端,並非C語言專用。
- B. 有許多面向CPU的後端,並非特定CPU專用。
- C. 正確。以共通的中介表示為中心,組合前半部與後半部。