日期:2015/7/7 作業
直譯器(Interpreter)
特點:
- 將程式一行一行的讀入,逐行翻譯並執行。
- 不會產生目的檔
- 減輕編譯程式的負擔,但效率較差。
執行方法:
- 直接執行高階程式語言 (如shell)
- 轉換高階語言成為ByteCode,並執行它(如Perl, Python, Ruby)
- 以直譯器包含的編譯器對高階語言編譯,並指示處理器執行編譯後的程式(例如:JIT)
優點:
- 方便操作
- 馬上看到結果
- 適合初學者
缺點:
- 無法進行程式碼最佳化
- 效率差
- 每次執行須重新翻譯程式
範例:
編譯器(Compiler)
特點:
- 將程式語言原始碼,轉換成另一種程式語言
- 將翻譯結果存成目的檔(Object file),與函式庫打包可成為執行檔(Execute file)
- 整批作業來處理轉譯工作
- 執行速度較快
執行方式:
- 原始碼
- 使用預處理器(preprocess)進行詞法分析
- 編譯
- 產生目的檔(Object file)
- 使用連結器(Linker)與函式庫結合
- 產生執行檔(Execute file)
優點:
- 可進行程式碼最佳化
- 效率佳
- 可建立為執行檔
缺點:
- 須連結其他函式庫才能執行
- 開發過程較不方便
範例: