2025/10/1

台綜大B30 計概114 第一題 解答 台灣綜合大學, 資訊管理系, 轉學考

Q1: 請解釋組譯器 (assembler)、直譯器 (interpreter) 與編譯器 (compiler) 之間的差異與應用情境。

 🔹 組譯器 (Assembler)

  • 定位:介於「組合語言」與「機器碼」之間的工具。

  • 功能:將 組合語言 (Assembly) 逐條指令轉換成對應的 機器碼

  • 特點

    • 一對一翻譯,組譯後的執行速度最快。

    • 與硬體架構密切相關(同一段組合語言在不同 CPU 架構可能不通用)。

  • 使用情境

    • 嵌入式系統(例如控制器、感測器)。

    • 驅動程式開發(直接控制硬體)。

    • 效能要求極高或需要直接操作硬體暫存器的場合。


🔹 編譯器 (Compiler)

  • 定位:將「高階語言」轉換成「可執行程式」。

  • 功能:將整份 高階語言程式碼(如 C、C++、Rust)一次性翻譯成 機器碼或中間碼 (bytecode)

  • 特點

    • 一次性翻譯,生成執行檔。

    • 執行效率高(因為已經是機器碼)。

    • 缺點是 編譯過程較慢,開發過程需要等待編譯完成。

  • 使用情境

    • 系統軟體(如作業系統核心)。

    • 效能要求高的應用程式(C/C++/Rust)。

    • 跨平台應用(Java 透過編譯成 bytecode,交由 JVM 執行)。


🔹 直譯器 (Interpreter)

  • 定位:直接執行程式碼的「解釋器」。

  • 功能:逐行讀取、翻譯並 立即執行程式碼。

  • 特點

    • 跨平台性強,不需事先編譯。

    • 除錯方便,適合快速開發與測試。

    • 缺點是 執行速度較慢(每次執行都要重新解譯)。

  • 使用情境

    • 腳本語言:Python、JavaScript、Ruby。

    • 互動式開發環境 (REPL)

    • 快速原型設計教育學習場合。

沒有留言:

張貼留言