什麼是符號解析(Symbol resolution)

連結器將某個檔案中所參照的函式或變數名稱,對應到存在於他處的定義的處理。若沒有定義會發生未定義參照錯誤,若有兩個以上則會發生重複定義錯誤。

日文名稱: シンボル解決

「符號解析(Symbol resolution)」出現在1領域的2道練習題中(連結器與載入器與執行檔格式等)。

這個名詞所屬的領域: 連結器與載入器與執行檔格式

練習符號解析(Symbol resolution)的題目

關於連結器所進行的符號解析,下列說明何者正確?

  1. A將某檔案中使用的函式或變數名稱,對應到另一個檔案中的該定義
  2. B將原始碼的變數名稱換成較短的名稱,使其難以閱讀
  3. C將含有數學符號的算式重新計算成數值
查看答案與解析

正確答案:A. 將某檔案中使用的函式或變數名稱,對應到另一個檔案中的該定義

若在main.c中呼叫sum函式,並在sum.c中定義其內容,則main.o會記錄「參照sum」,sum.o會記錄「定義sum」。連結器會蒐集所有目的檔的符號表,為每個參照找出一個對應的定義。若找不到定義,就會出現「未定義的參照」錯誤;若有兩個以上,則會出現「重複定義」錯誤。

解析中的「符號解析(Symbol resolution)」

出現「符號解析(Symbol resolution)」的題目(2題)

  1. 關於連結器所進行的符號解析,下列說明何者正確?
  2. 關於連結器的主要功能,下列何者正確?

相關名詞

連結器(Linker) 目的檔(Object file) 符號表(Symbol table) 重定位(Relocation) 共享函式庫(Shared library) 名稱修飾(Name mangling) 位置無關程式碼(Position-independent code) 弱符號(Weak symbol) 記憶體碎裂(Memory fragmentation) 動態連結(Dynamic linking)

前往名詞解釋列表