編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。編程
這只是表象,兩者背後的最大區別是:學習
對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;spa
對編譯執行而言,運行時的控制權在用戶程序。翻譯
解釋具備良好的動態特性和可移植性,好比在解釋執行時能夠動態改變變量的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,3d
而將解釋器移植到不一樣的系統上,則程序不用改動就能夠在移植瞭解釋器的系統上運行。調試
同時解釋器也有很大的缺點,好比執行效率低,佔用空間大,由於不只要給用戶程序分配空間,解釋器自己也佔用了寶貴的系統資源。視頻
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機能夠直接以機器語言來運行此程序,速度很快;blog
而解釋器則是隻在執行程序時,才一條一條的解釋成機器語言給計算機來執行,因此運行速度是不如編譯後的程序運行的快的。教程
另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~資源
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
編程學習: