c語言:解釋程序和編譯程序


編譯程序和解釋程序是程序執行的兩種不同執行方式。

編譯程序:編譯程序的功能是把用高級語言書寫的源程序翻譯成與之等價的目標程序。編譯過程划分成詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成6個階段。目標程序可以獨立於源程序運行。(編譯程序是一個語言處理程序,它可以把高級語言程序給語言翻譯成某個機器的匯編語言程序或者是二進制代碼程序,這個階段叫做編譯階段。需要注意的是編譯和運行是分兩個階段進行的,也就是說程序必須要全部編譯完成后,才能運行。即編程方式執行程序會把源代碼翻譯成二進制文件的目標代碼。)

 

解釋程序:解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它是直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不生成目標程序,這是它和編譯程序的主要區別。(解釋程序的工作模式是一個個的獲取、分析並且去執行源程序的語句,一旦第一個語句分析結束后,源程序就會開始運行並且去生成結果,它比較適合以交互方式來進行工作的情況。即解釋程序不會生成目標代碼。)

編譯程序不參與用戶程序的運行控制而解釋程序則參與

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。

解釋程序它逐條地取出源程序中的語句,邊解釋,邊執行編譯的話就是只要編譯一次,下次再執行就不用再解釋了。
解釋程序運行效率低,程序的運行依賴於開發環境,不能直接在操作系統下運行

常見解釋程序對應的高級語言:python  BASIC

常見編譯程序對應的高級語言:C&C++,C#,Java


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM