⑴ 編譯程序哪些階段依賴硬體
編譯程序詞法分析、語法分析、語義分析與中間代碼產生、優化、目昌衡標代碼生成階段依賴硬體。根據查詢相關公開信息顯示耐態做,編譯程序的工作,從輸入源程序開始到輸出目標程序為止的整個過程,是非常復雜的。但就其過程而言,它與閉岩人們進行自然語言直接的翻譯有許多相近之處。當我們把一種文字翻譯為另一種文字。
⑵ 程序編譯強大的電腦哪些配置需要強大
在編譯方面,影響最大的是CPU,硬碟以及內存
所以配置方面建議如下
1、CPU使用多核多線程的處理器:接近的價格下如I7 7700K,AMD r7 1700x,至強E5 2683等
2、硬碟建議SATA固態SSD起步,用m.2的固態硬碟更好,m.2的固態硬碟需要對應的主板支持該系列才可以
3、內存建議16G起步,用2根8G組成雙通道進行優化
⑶ 編譯的速度與哪個硬體的關系最大
硬體是承載操作系統的平台,對開機速度快慢會有直接的影響。
指望一輛1.6L發動機的轎車跟2.0T發動機的跑車比起步速度是不現實的。
比如同系統環境下,及其他硬體配置一致的情況下,SSD固態硬碟就會比普通的SATA硬碟開機速度快。
但是系統開機快慢這個問題還是會受到其他多方面影響的。
其中最主要的就是開機自動啟動進程的多少。
對於未經任何優化的操作系統,可能隨著應用軟體的安裝,開機自動啟動的程序越來越多,就會導致開機速度緩慢。
所以,優化開機啟動項是很有效提升開機速度的一個方法。
最後,開機快慢還跟系統內核優化有關。
不同內核版本的系統,在開機時間上是有不同的,如最新的win10系統就會比vista系統開機速度要快。
⑷ 編譯程序是不是依賴於硬體的,存儲於哪一個硬體中,是主板嗎
編譯程序就是一個普通的程序,想刪就刪想裝哪個就裝哪個。像所有的軟體一樣,存在硬碟里。
並不是每個編譯器都可以編譯任何一個程序源代碼,必須匹配地編譯。
並不所有的高級語言程序都是編譯的,例如Basic,是解釋執行的。
⑸ 編譯過程包括哪幾個主要階段及每個階段的功能。
【答案】:編譯過程包括詞法分析、語法分析、語義分析和中間代碼生成、優化、目標代碼生成5個階段。
詞法分析的功能是弊則對輸入的高級語言源程序進行詞法分析,識別其中的單詞符號,確定它們的種類,交給語法分析器,即把字元串形式的源程序分解為單詞符號串形式。
語法分析的功能是在詞法分析結果的基礎上,運用語言的語法規則,對程指或序進行語法分析,識別構成程序的各類語法范疇及它們之間的層次關系,並把這種層次關系表達成語法樹的形式。
詞義分析和中間代碼生成的功能是在語法分析的基礎上,對程序進行語義分析,「理解」其含義,產生出表達程序語義的內部表達形式(中間代碼)。表達語義的中間代碼與機器租逗棚代碼相似,可以認為這一步進行了翻譯工作,把源程序翻譯成了與具體機器指令系統無關的抽象指令代碼。
優化的功能是按照等價變換的原則,對語義分析器產生的中間代碼序列進行等價變換,刪除其中多餘的操作,對耗時耗空間的代碼進行優化,以期最後得到高效的可執行代碼。
目標代碼生成的功能是把優化後的中間代碼變換成機器指令代碼,得到可在目標機器上執行的機器語言程序。
⑹ android10編譯硬體要求
您的開發編譯機必須達到或超出以下硬體要求:
如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位環境。如果是較低的版本,則可以在 32 位系統中進行編譯。
如果是校驗代碼,至少需要 100GB 可用磁碟空間;如果要進行編譯,則還需要 150GB。如果要進行多次編譯或使用 ccache,則需要更多空間。
如果您在虛擬機中運行 Linux,則至少需要 16GB 的 RAM/交換空間(swap)。
⑺ 描述一般的編譯程序可分為哪些階段,每個階段的目的是什麼
其目的是保證標識符和常數的正確使用,把必要的信息...綜合部分 綜合階段必須根據符號表和中間語言程序產生...目標程序質量,也可以把一個邏輯步驟的工作分為幾遍.
⑻ C語言文件的編譯與執行的四個階段並分別描述
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
(8)編譯優化階段涉及硬體擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。
2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。
4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。
⑼ 編譯器領域需要懂硬體嗎
懂的。
編譯原理是研究各種語言轉換(不夠專業)為機器語言的過程中的各種理論。編譯原理是將計算機語言轉化為可以在計算機硬體上直接運行的機器語言,是翻譯語言的一種。
編譯原理是研究各種語言轉換(不夠專業)為機器語言的過程中的各種理論。編譯原理是將計算機語言轉化為可以在計算機硬體上直接運行的機器語言,是翻譯語言的一種。
⑽ 編譯器的組成及各部分的功能及作用
1. 詞法分析 詞法分析器根據詞法規則識別出源程序中的各個記號(token),每個記號代表一類單詞(lexeme)。源程序中常見的記號可以歸為幾大類:關鍵字、標識符、字面量和特殊符號。詞法分析器的輸入是源程序,輸出是識別的記號流。詞法分析器的任務是把源文件的字元流轉換成記號流。本質上它查看連續的字元然後把它們識別為「單詞」。 2. 語法分析 語法分析器根據語法規則識別出記號流中的結構(短語、句子),並構造一棵能夠正確反映該結構的語法樹。 3. 語義分析 語義分析器根據語義規則對語法樹中的語法單元進行靜態語義檢查,如果類型檢查和轉換等,其目的在於保證語法正確的結構在語義上也是合法的。 4. 中間代碼生成 中間代碼生成器根據語義分析器的輸出生成中間代碼。中間代碼可以有若干種形式,它們的共同特徵是與具體機器無關。最常用的一種中間代碼是三地址碼,它的一種實現方式是四元式。三地址碼的優點是便於閱讀、便於優化。 5. 中間代碼優化 優化是編譯器的一個重要組成部分,由於編譯器將源程序翻譯成中間代碼的工作是機械的、按固定模式進行的,因此,生成的中間代碼往往在時間和空間上有很大浪費。當需要生成高效目標代碼時,就必須進行優化。 6. 目標代碼生成 目標代碼生成是編譯器的最後一個階段。在生成目標代碼時要考慮以下幾個問題:計算機的系統結構、指令系統、寄存器的分配以及內存的組織等。編譯器生成的目標程序代碼可以有多種形式:匯編語言、可重定位二進制代碼、內存形式。 7 符號表管理 符號表的作用是記錄源程序中符號的必要信息,並加以合理組織,從而在編譯器的各個階段能對它們進行快速、准確的查找和操作。符號表中的某些內容甚至要保留到程序的運行階段。 8 出錯處理用戶編寫的源程序中往往會有一些錯誤,可分為靜態錯誤和動態錯誤兩類。所謂動態錯誤,是指源程序中的邏輯錯誤,它們發生在程序運行的時候,也被稱作動態語義錯誤,如變數取值為零時作為除數,數組元素引用時下標出界等。靜態錯誤又可分為語法錯誤和靜態語義錯誤。語法錯誤是指有關語言結構上的錯誤,如單詞拼寫錯、表達式中缺少操作數、begin和end不匹配等。靜態語義錯誤是指分析源程序時可以發現的語言意義上的錯誤,如加法的兩個操作數中一個是整型變數名,而另一個是數組名等。