10 在編譯與建立程式的過程中,哪個步驟會處理庫存的連結?
(A) 前置處理
(B) 編譯
(C) 連結
(D) 執行

答案:登入後查看
統計: A(1), B(2), C(3), D(1), E(0) #3399857

詳解 (共 2 筆)

#7318707

【第一步:找關鍵字】

關鍵字:

  • 編譯與建立程式的過程(整個流程)

  • 庫存的連結(link library)

  • 哪個步驟(流程順序題)

? 關鍵就是「連結 library」這件事是在哪一步發生

【第二步:白話翻譯】

這題在問:

? 「你寫好程式後,電腦什麼時候會把外部函式庫接進來?」

【第三步:解題思路】

這題在考什麼觀念?

? 編譯流程(Compilation Pipeline)

解題步驟

  1. 先記住完整流程

  2. 找出「哪一步會處理 library」

  3. 對應到選項

原理與規則(生活比喻)

把程式建置想成「做一份報告」:

  1. 前置處理(Preprocessing)
    → 整理資料(include、巨集)

  2. 編譯(Compilation)
    → 把內容寫成正式文件(轉成機器碼)

  3. 連結(Linking)
    → 把「外部資料」補進來(library)

  4. 執行(Execution)
    → 開始使用

? 「連結 library」就是在第 3 步

【第四步:選項分析】

(A) 為什麼錯?

✘ 錯

**前置處理(preprocessing)**做的是:

  • #include

  • #define

? 還沒有真正處理 library

(B) 為什麼錯?

✘ 錯

**編譯(compilation)**是:

  • 把程式轉成目標檔(object file)

? 但還沒把 library 接進來

(C) 為什麼對?

✔ 正確(本題答案)

? **連結(linking)**才是:

  • 把 .o 檔 + library 合併

  • 產生最終可執行檔

? 所以 library 就是在這一步處理

(D) 為什麼錯?

✘ 錯

**執行(execution)**是:

  • 程式已經完成後才執行

? 不是建置過程的一部分

【觀念補充與延伸】

核心觀念定位

? 系統程式(編譯流程)
? 必考基礎題

法條或定義

完整流程:

  1. 前置處理(Preprocessing)

  2. 編譯(Compilation)

  3. 組譯(Assembly)

  4. 連結(Linking)

? 最後才產生可執行檔

流程圖(重點)

ㅤㅤ
原始碼 (.c)

前置處理

編譯

組譯 → 產生 .o

連結(加入 library)

可執行檔
ㅤㅤ

觸類旁通(舉一反三)

對比概念

  • 靜態連結(static linking)

  • 動態連結(dynamic linking)

? 都是在「連結階段」處理

變化題型

  • 問:.o 檔是在哪個階段產生?
    ? 組譯(assembly)

【記憶口訣】

? 「連 library 就在 linking」

【常見陷阱】

學生最容易搞混的地方

把「編譯」和「連結」混在一起

心理盲點

以為編譯就已經完成全部工作

避坑指南

? 看到「library」:

直接反射:
→ 連結(linking)

0
0
#6786512
題目解析 題目詢問在編譯與建立程式的過...
(共 810 字,隱藏中)
前往觀看
0
0