編譯器
編譯器內部使用不依賴來源語言、也不依賴CPU的中介表示(IR),其主要優點為何?
- A因為使用中介表示後,不必讀取原始碼就能進行編譯
- B因為中介表示可由CPU直接執行,所以不需要產生機器碼
- C因為可以將各語言專屬的前端與各CPU專屬的後端分開,且最佳化也能共用
查看答案與解析
正確答案:C. 因為可以將各語言專屬的前端與各CPU專屬的後端分開,且最佳化也能共用
要支援M種語言與N種CPU時,若依每種組合各做一個編譯器就需要M×N個,但若透過共用的中介表示,只需要M個從語言到中介表示的前端(frontend),以及N個從中介表示到CPU的後端(backend)。多數最佳化只要在中介表示上做一次,所有語言與CPU都能使用。中介表示並非CPU可直接執行的東西,最後仍需轉換為機器碼。
- A. 一定要讀取原始碼。
- B. 中介表示無法由CPU直接執行,必須轉換為機器碼。
- C. 正確。可分開前端與後端,並共用最佳化。