連結器與載入器與執行檔格式
關於連結器所進行的符號解析,下列說明何者正確?
- A將某檔案中使用的函式或變數名稱,對應到另一個檔案中的該定義
- B將原始碼的變數名稱換成較短的名稱,使其難以閱讀
- C將含有數學符號的算式重新計算成數值
查看答案與解析
正確答案:A. 將某檔案中使用的函式或變數名稱,對應到另一個檔案中的該定義
若在main.c中呼叫sum函式,並在sum.c中定義其內容,則main.o會記錄「參照sum」,sum.o會記錄「定義sum」。連結器會蒐集所有目的檔的符號表,為每個參照找出一個對應的定義。若找不到定義,就會出現「未定義的參照」錯誤;若有兩個以上,則會出現「重複定義」錯誤。
- A. 正確。將參照與定義連結起來。
- B. 那是混淆(obfuscation),不是連結器的工作。
- C. 符號指的是函式或變數的名稱。