國家安全情報人員考試五等考試-資訊組資料處理大意104 年第 18 題單選題
下列何者能將互相呼叫的各程式目的檔,連結成為一個執行檔?
Acompiler
Binterpreter
Clinker正確答案
Dassembler
C正確答案
Linker(連結器)負責將多個目的檔與函式庫連結成可執行檔。
為什麼答案是 C
linker(連結器)將多個目的檔(含互相呼叫的函式)與函式庫連結,解析外部符號參照,產出單一可執行檔,完全對應題意。
載入中…
完整詳解
Pro · 無限重點 Linker(連結器)負責將多個目的檔與函式庫連結成可執行檔。
看到「連結」「多個目的檔合併」就是 linker,中文翻譯直接破題。
逐選項分析
A✕ 陷阱
compiler(編譯器)是把高階語言原始碼翻譯成目的檔(.obj/.o),但還沒連結,無法直接執行。很多人會誤以為編譯完就結束,這是陷阱。
B✕
interpreter(直譯器)是逐行翻譯並立即執行,不產生目的檔也不做連結,與本題情境不符。
C✓ 正確
linker(連結器)將多個目的檔(含互相呼叫的函式)與函式庫連結,解析外部符號參照,產出單一可執行檔,完全對應題意。
D✕
assembler(組譯器)是把組合語言翻譯成機器碼目的檔,處理對象是單一組語檔,不負責多檔連結。
程式翻譯工具四兄弟
| 工具 | 輸入 | 輸出 | 功能 |
|---|
| Compiler 編譯器 | 高階語言原始碼 | 目的檔 (.obj) | 整體翻譯成機器碼 |
| Interpreter 直譯器 | 高階語言原始碼 | 無(直接執行) | 逐行翻譯立即執行 |
| Assembler 組譯器 | 組合語言 | 目的檔 | 組語翻成機器碼 |
| Linker 連結器 | 多個目的檔+函式庫 | 執行檔 (.exe) | 合併連結解析參照 |
許多考生一看到「程式」就直覺選 compiler,但題目關鍵字是「互相呼叫」「各程式目的檔」「連結成執行檔」——已經有目的檔就過了編譯階段,接下來合併的工作是 linker 的專責。