導航:首頁 > 源碼編譯 > 編譯器有什麼控制

編譯器有什麼控制

發布時間:2025-02-04 00:51:52

⑴ 什麼是編譯程序

編譯程序指將某一種程序設計語言寫的程序翻譯成等價的另一種語言的程序的程序, 稱之為編譯程序

編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

編譯程序的實現演算法較為復雜,這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系,同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。

由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

(1)編譯器有什麼控制擴展閱讀:

編譯流程分為了四個步驟:

1.預處理,生成預編譯文件(.文件)

2.編譯,生成匯編代碼(.s文件)

3.匯編,生成目標文件(.o文件)

4.鏈接,生成可執行文件

⑵ 為什麼需要改變編譯器

答案如下:
1.編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
2.解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
3.因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式).
4.編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
4.編譯器在優化過程中採用了自動或半自動的代碼生成用以替代人工優化。人的精力是有限的,通過(接近無限)的算力去適配每一個應用場景看到的網路,改變編譯器,這是編譯技術比人工路線強的所在。

⑶ 計算機有解釋器為什麼還要有編譯器 明顯是編譯器要快捷於解釋器啊…………

下面這個回答可以參考:

編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)

編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。

解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,解釋器本身也佔用了寶貴的系統資源。

與編譯器有什麼控制相關的資料

熱點內容
linux學習步驟 瀏覽:502
達內杭州java培訓 瀏覽:163
建垃圾壓縮站應符合的規定 瀏覽:973
安卓怎麼測量開機電壓 瀏覽:775
程序員素質大全 瀏覽:953
激戰伺服器不見了怎麼辦 瀏覽:983
安卓如何退回初始系統 瀏覽:952
用什麼手錶能代替app 瀏覽:707
女程序員熬夜體檢 瀏覽:717
解壓故事校園戀愛又煩惱 瀏覽:557
冰箱壓縮機放多久能啟動 瀏覽:173
軟體演算法發明專利 瀏覽:989
旁氏演算法 瀏覽:768
程序員那麼可愛電視劇免費觀看極速版 瀏覽:749
程序員那麼可愛陸漓孩子保住了嗎 瀏覽:566
如何獲取伺服器dns秒解 瀏覽:665
如何破解大黃蜂的加密文件 瀏覽:14
新概念英語第三冊pdf 瀏覽:404
分項詳細估演算法步驟 瀏覽:439
ipad桌面文件夾放大 瀏覽:893