連結器與載入器與執行檔格式

關於連結器的主要功能,下列何者正確?

  1. A結合多個目的檔與函式庫,將名稱對應到位址,產生執行檔
  2. B找出原始碼的語法錯誤並通知
  3. C執行中的程式使用完畢後,自動釋放其記憶體
查看答案與解析

正確答案:A. 結合多個目的檔與函式庫,將名稱對應到位址,產生執行檔

連結器會將各目的檔中所參照的名稱(符號),對應到其他地方所定義的實體(符號解析),並排列各檔案的程式碼與資料以決定最終位址,再將指令中的暫時位址改寫為正確的值(重定位)。必要時還會從函式庫中取出函式加入。如此就能產生可由作業系統載入並執行的執行檔。

  • A. 正確。負責進行符號解析與重定位。
  • B. 語法錯誤是由編譯器找出的。
  • C. 那是垃圾回收器(garbage collector)的工作。
練習這個領域 前往領域頁面

連結器與載入器與執行檔格式的其他題目

  1. 關於連結器所進行的符號解析,下列說明何者正確?
  2. 關於連結器所進行的重定位(relocation),下列說明何者正確?
  3. 連結C語言程式時出現「undefined reference to `foo'」(對foo的未定義參照)錯誤,最可能的原因為下列何者?
  4. 在a.c與b.c中都定義了未加static、同名的全域函式void init(void),然後進行連結。下列關於會發生之情形的敘述,何者正確?
  5. 在C語言中以static定義函式時(例:static int helper(void)),下列關於其效果的敘述何者正確?

這個領域的比較