編譯器

關於交叉編譯器(cross compiler)的說明,下列何者正確?

  1. A將兩種程式語言混合成一個新語言的編譯器
  2. B產生與執行它的電腦不同的CPU所用之機器碼的編譯器
  3. C比較多個編譯器的輸出,並選出最快者的工具
查看答案與解析

正確答案:B. 產生與執行它的電腦不同的CPU所用之機器碼的編譯器

交叉編譯器是例如在x86的個人電腦上執行,卻產生面向Arm或RISC-V微控制器的機器碼的編譯器。在嵌入式裝置等情況下,若目標裝置的效能或記憶體不足以執行編譯器,它就不可或缺。所產生的機器碼,會寫入目標裝置,或在模擬該裝置的模擬器上執行來確認。它不是混合語言,也不是比較多個編譯器結果的工具。

  • A. 它不是混合語言的編譯器。
  • B. 正確。產生另一種CPU所用的機器碼。
  • C. 它不是比較結果的工具。
練習這個領域 前往領域頁面

編譯器的其他題目

  1. 以偵錯器檢視施加了最佳化而編譯的程式時,有時部分變數的值會顯示為「無法顯示」。主要原因為何?
  2. 對上方函式充分進行常數傳播、常數摺疊與無用程式碼刪除後,函式所回傳的值與剩餘的程式碼,下列何者正確?
  3. 關於編譯器詞法分析的作用,下列何者正確?
  4. 關於編譯器的語法分析所進行的工作,下列何者正確?
  5. 下列何者最適合作為編譯器的語意分析所能發現的錯誤範例?

這個領域的比較