2015主機房作業

日期:2015/7/7 作業

直譯器(Interpreter)

特點:

  • 將程式一行一行的讀入,逐行翻譯並執行。
  • 不會產生目的檔
  • 減輕編譯程式的負擔,但效率較差。

執行方法:

  1. 直接執行高階程式語言 (如shell)
  2. 轉換高階語言成為ByteCode,並執行它(如Perl, Python, Ruby)
  3. 以直譯器包含的編譯器對高階語言編譯,並指示處理器執行編譯後的程式(例如:JIT)

優點:

  1. 方便操作
  2. 馬上看到結果
  3. 適合初學者

缺點:

  1. 無法進行程式碼最佳化
  2. 效率差
  3. 每次執行須重新翻譯程式

範例:

  • Perl
  • Python
  • Ruby
  • shell

編譯器(Compiler)

特點:

  • 將程式語言原始碼,轉換成另一種程式語言
  • 將翻譯結果存成目的檔(Object file),與函式庫打包可成為執行檔(Execute file)
  • 整批作業來處理轉譯工作
  • 執行速度較快

執行方式:

  1. 原始碼
  2. 使用預處理器(preprocess)進行詞法分析
  3. 編譯
  4. 產生目的檔(Object file)
  5. 使用連結器(Linker)與函式庫結合
  6. 產生執行檔(Execute file)

優點:

  1. 可進行程式碼最佳化
  2. 效率佳
  3. 可建立為執行檔

缺點:

  1. 須連結其他函式庫才能執行
  2. 開發過程較不方便

範例:

  • C
  • C++
  • Java