110 likes | 635 Views
控晶一乙 4992c097 黃嘉蔚. 解釋 組 譯 器 、 編譯器 和 直譯 器 的差異. 直譯器 組譯器 編譯器 來源參考. 目錄. 直譯器 ( Interpreter )是一種把高階 程式語言 直接執行的轉譯 程式 。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。 解釋器 或 直譯器 (Interpreter) 是一種供執行其他 程式 的電腦程式,解釋器只像一位「中間人」,每次執行程式時都要先轉成另一種語言再作執行,因此解釋器的程式運行速度比較緩慢。
E N D
控晶一乙 4992c097 黃嘉蔚 解釋 組譯器、編譯器和直譯器的差異
直譯器 組譯器 編譯器 來源參考 目錄
直譯器(Interpreter)是一種把高階程式語言直接執行的轉譯程式。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。直譯器(Interpreter)是一種把高階程式語言直接執行的轉譯程式。直譯器不會一次把整個程式轉譯出來。它每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停的進行下去。 解釋器或直譯器(Interpreter)是一種供執行其他程式的電腦程式,解釋器只像一位「中間人」,每次執行程式時都要先轉成另一種語言再作執行,因此解釋器的程式運行速度比較緩慢。 相對地,編譯器並不執行程式或原程式碼,而是一次過將其翻譯成另一種語言,如機械碼,以供多次執行而無需再經編譯。其製成品無需依賴編譯器而執行,程式運行速度比較快。 直譯器
直譯器執行程式的方法有: • 直接執行高階程式語言 (如 Shell 內建的直譯器) • 轉換高階程式語言碼到一些有效率的中間代表碼 (Bytecode),並執行這些Bytecode • 以直譯器包含的編譯器對高階語言編譯,並指示處理器執行編譯後的程式 (例如: JIT) • 在轉譯的過程中,這組高階語言所寫成的程式仍然維持在原始碼的格式(或某種中繼語言的格式),而程式本身所指涉的動作或行為則由直譯器來表現。直譯器的好處是它消除了編譯整個程式的負擔,但也會讓執行時的效率打了折扣。 • 直譯器Interpreter是另一種翻譯器,特性在於翻譯一段程式碼後立即執行。
典型的現代組譯器(Assembler)建造目的碼,由解譯組語指令集的易記碼(mnemonics)到操作碼(OpCode),並解析符號名稱(symbolic names)成為記憶體位址以及其它的實體。使用符號參考是組譯器的一個重要特徵,它可以節省修改程式後人工轉址的乏味耗時計算。基本就是把機器碼變成一些字母而已,編譯的時候再把輸入的指令字母替換成為晦澀難懂機器碼。 組譯器(assemblers)是一種將助憶碼(mnemonics)與識別字(identifier)轉換成機器語言的程式。 組譯器
編譯器(Compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。編譯器(Compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。 它主要的目的是將便於人編寫,閱讀,維護的高階電腦語言所寫作的原始碼程式,翻譯為電腦能解讀、執行的低階機器語言的程式,也就是執行檔。編譯器將原始程式(Source program)作為輸入,翻譯產生使用標的語言(Target language)的等價程式。原始碼一般為高階語言 (High-level language) 編譯器
如 Pascal、C、C++、C# 、Java 等,而標的語言則是組合語言或標的機器的目的碼(Object code),有時也稱作機器碼(Machine code)。 一個現代編譯器的主要工作流程如下: 原始碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 組譯程式 (assembler) → 目的碼 (object code) → 鏈結器 (Linker) → 可執行程式 (executables) 編譯器(compiler)是一種翻譯器,特性在於一次將所有程式法轉換成機器語言,再執行。
組譯器Assembler 將組合語言程式翻譯為目的程式,再經過連結程式,連結為執行檔*.com(檔案大小小於64K) 直譯器Interpreter 將原始程式逐行翻譯為機器語言。程式每次執行,皆必須經過翻譯的手續。亦稱為解譯器 編譯器Compiler 將原始程式一次翻譯為目的程式後,再聯結函式庫或是其他目的程式為執行檔*.exe(檔案大小大於64K)
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 參考來源