1 / 9

解釋 組 譯 器 、 編譯器 和 直譯 器 的差異

控晶一乙 4992c097 黃嘉蔚. 解釋 組 譯 器 、 編譯器 和 直譯 器 的差異. 直譯器 組譯器 編譯器 來源參考. 目錄. 直譯器 ( Interpreter )是一種把高階 程式語言 直接執行的轉譯 程式 。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。 解釋器 或 直譯器 (Interpreter) 是一種供執行其他 程式 的電腦程式,解釋器只像一位「中間人」,每次執行程式時都要先轉成另一種語言再作執行,因此解釋器的程式運行速度比較緩慢。

shandi
Download Presentation

解釋 組 譯 器 、 編譯器 和 直譯 器 的差異

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 控晶一乙 4992c097 黃嘉蔚 解釋 組譯器、編譯器和直譯器的差異

  2. 直譯器 組譯器 編譯器 來源參考 目錄

  3. 直譯器(Interpreter)是一種把高階程式語言直接執行的轉譯程式。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。直譯器(Interpreter)是一種把高階程式語言直接執行的轉譯程式。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。 解釋器或直譯器(Interpreter)是一種供執行其他程式的電腦程式,解釋器只像一位「中間人」,每次執行程式時都要先轉成另一種語言再作執行,因此解釋器的程式運行速度比較緩慢。 相對地,編譯器並不執行程式或原程式碼,而是一次過將其翻譯成另一種語言,如機械碼,以供多次執行而無需再經編譯。其製成品無需依賴編譯器而執行,程式運行速度比較快。 直譯器

  4. 直譯器執行程式的方法有: • 直接執行高階程式語言 (如 Shell 內建的直譯器) • 轉換高階程式語言碼到一些有效率的中間代表碼 (Bytecode),並執行這些Bytecode • 以直譯器包含的編譯器對高階語言編譯,並指示處理器執行編譯後的程式 (例如: JIT) • 在轉譯的過程中,這組高階語言所寫成的程式仍然維持在原始碼的格式(或某種中繼語言的格式),而程式本身所指涉的動作或行為則由直譯器來表現。直譯器的好處是它消除了編譯整個程式的負擔,但也會讓執行時的效率打了折扣。 • 直譯器Interpreter是另一種翻譯器,特性在於翻譯一段程式碼後立即執行。

  5. 典型的現代組譯器(Assembler)建造目的碼,由解譯組語指令集的易記碼(mnemonics)到操作碼(OpCode),並解析符號名稱(symbolic names)成為記憶體位址以及其它的實體。使用符號參考是組譯器的一個重要特徵,它可以節省修改程式後人工轉址的乏味耗時計算。基本就是把機器碼變成一些字母而已,編譯的時候再把輸入的指令字母替換成為晦澀難懂機器碼。 組譯器(assemblers)是一種將助憶碼(mnemonics)與識別字(identifier)轉換成機器語言的程式。 組譯器

  6. 編譯器(Compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。編譯器(Compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。 它主要的目的是將便於人編寫,閱讀,維護的高階電腦語言所寫作的原始碼程式,翻譯為電腦能解讀、執行的低階機器語言的程式,也就是執行檔。編譯器將原始程式(Source program)作為輸入,翻譯產生使用標的語言(Target language)的等價程式。原始碼一般為高階語言 (High-level language) 編譯器

  7. 如 Pascal、C、C++、C# 、Java 等,而標的語言則是組合語言或標的機器的目的碼(Object code),有時也稱作機器碼(Machine code)。 一個現代編譯器的主要工作流程如下: 原始碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 組譯程式 (assembler) → 目的碼 (object code) → 鏈結器 (Linker) → 可執行程式 (executables) 編譯器(compiler)是一種翻譯器,特性在於一次將所有程式法轉換成機器語言,再執行。

  8. 組譯器Assembler 將組合語言程式翻譯為目的程式,再經過連結程式,連結為執行檔*.com(檔案大小小於64K) 直譯器Interpreter 將原始程式逐行翻譯為機器語言。程式每次執行,皆必須經過翻譯的手續。亦稱為解譯器 編譯器Compiler 將原始程式一次翻譯為目的程式後,再聯結函式庫或是其他目的程式為執行檔*.exe(檔案大小大於64K)

  9. 1. http://zh.wikipedia.org/zh-hant/%E7%9B%B4%E8%AD%AF%E5%99%A8 2. http://zh.wikipedia.org/zh-hant/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80 3. http://zh.wikipedia.org/zh-tw/%E7%B7%A8%E8%AD%AF%E5%99%A8 4. http://sun.cis.scu.edu.tw/~bccb/94bcc/Ch6/6-1.htm 參考來源

More Related