免費開始練習
司法三等申論題 106年 [檢察事務官電子資訊組] 程式語言

第 三 題

三、幾乎所有的程式都需要一些支援程式,例如輸出輸入、數學函式、記憶體管理等。這些支援程式一般都是放在支援程式庫(libraries)裡面,然後在適當的時機和主程式連結(linking)。連結的時機可以分為兩大類:靜態連結(static linking)及動態連結(dynamic linking)。請舉例解釋靜態連結及動態連結,並請說明產生與使用相關程式庫的方法。(20 分)
📝 此題為申論題

思路引導 VIP

看到此題,應立即聯想到程式編譯的生命週期,區分「連結發生在編譯期還是執行期」。答題架構需涵蓋定義、實作方法(以 C 語言的 .a 與 .so 為例),最後務必從「記憶體空間配置、執行期效能延遲(Overhead)與程式庫維護更新」三個維度進行優缺點比較,展現系統層級的深度理解。

🤖
AI 詳解 AI 專屬家教

【破題】「連結(Linking)」是將編譯後的目的檔(Object files)與所需之函式庫結合,生成可執行檔的過程。依據發生時機的不同,主要分為「靜態連結(編譯期完成)」與「動態連結(執行期完成)」,兩者在記憶體配置與執行效率上有顯著的權衡關係。 【論述】 一、靜態連結(Static Linking)

▼ 還有更多解析內容

升級 VIP 解鎖