編譯程序將高級語言
❶ 編譯器是將高級語言編譯成匯編語言嗎
一般的
編譯器
,是先將
高級語言
轉換成匯編語言(
中間代碼
),然後在匯編的基礎上優化生成OBJ
目標代碼
,最後Link成可執行文件
❷ 編譯程序將高級語言程序翻譯成與之等價的機器語言程序,該機器語言程序稱之為_
目標程序。
編譯過程的第一階段主要任務是對源程序從前往後(從左往右)逐個字元掃描,從中識別出一個個單詞符號,單詞是程序設計語言的基本語法單位,如關鍵字、標識符等。
中間代碼生成階段的主要任務是工作是根據語義分析的輸出生成中間代碼。最常用的中間代碼是與匯編語法的指令非常相似的三地址碼,常採用四元式。
(2)編譯程序將高級語言擴展閱讀:
注意事項:
弄清楚整體流程,掌握全局才能形成清晰的思路,就如同寫作文要先寫提綱一樣。
做介面時,要考慮使用者的感受是否易用,並且盡可能少的向使用者暴露內部的實現過程,簡化使用過程。
正常分支總是少數,大部分情況下都是異常分支,可以用2-8定律來形容,因此對異常處理很重要。
發現問題不可怕,每一個問題都有其根本的原因,且一定要有追根究底的精神,如果最可能出問題的情況都已經排除,則應當換個角度從一些不起眼的地方重新查起。
❸ 編譯程序可以將高級語言變成機器語言嗎
將高級語言轉換成由0,1構成的機器語言需要通過編譯程序來實現。即可轉化成機器語言。
機器語言是一種指令集的體系。這種指令集,稱機器碼,是電腦的CPU可直接解讀的數據。
機器碼有時也被稱為原生碼,這個名詞比較強調某種編程語言或庫,它與運行平台相關的部份。
❹ 編譯程序將高級語言程序翻譯成與之等級的機器語言,前者叫源程序,後者叫
編譯程序將高級語言程序翻譯成與之等級的機器語言,前者叫源程序,後者稱本機代碼,是可以在當前系統下運行的可執行程序。
❺ 編譯程序將高級語言程序翻譯成與之等價的機器語言程序,該機器語言程序稱為
選C。高級語言源程序翻譯成等價的機器語言程序(稱為目標程序)
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(5)編譯程序將高級語言擴展閱讀:
為了將人類語言翻譯成機器變成機器能夠理解的語言,還需要進行翻譯。就好像你不懂英語,英語可以翻譯成漢語,這樣你就能明白其中的含義。對於計算機來說,這個過程是一樣的。不過計算機對於翻譯有更高的要求。
人類之間互相翻譯語言,有一些微小的出入並不影響理解,計算機為了能夠准確的得到結果,要求這個翻譯的過程,必須保證「將一種語言翻譯成涵義相同的等價的另一種語言」。
在早期,程序的規模還比較小,翻譯的過程可以人工的進行。利用查表的方式,最終是可以得到等價的機器碼序列。隨著計算機科學的發展,程序規模膨脹的越來越快,人工翻譯變的沒有可行性。此時就有人提出,編寫一套軟體來進行這個翻譯的過程。
一開始人們只用匯編語言進行程序開發。所以只需要將匯編語言翻譯為機器語言就可以了。這是相當直截了當的過程,因為匯編語言的助記符和機器指令是一一對應的關系。
所以只需要完成一個能夠自動查表並轉換的程序即可。很快,這樣的程序就被發明了出來。我們稱之為「匯編器」。
❻ 編譯程序是把高級語言編譯成匯編語言程序還是機器語言程序為什麼王道上有兩個說法啊,我糾結了!!
編程語言分為高級編程語言和低級編程語言。
匯編屬於低級語言,語法更接近程序實際的運行順序。
C/C++屬於高級語言,語法更接近自然語言。
無論C/C++還是匯編語言,都是將代碼編譯成可被機器識別的機器語言。
❼ 編譯程序就是將高級語言翻譯成機器語言
很顯然不是的.編譯程序實際上分為分析器,編譯器,連接器等.分析器裡面又分為詞法分析和語法分析.詞法分析就是將源程序里的關鍵字,變數等等的東西解析出來,通俗點說就是把一個英語句子中的單詞分析出來.而語法解析則是從語法的角度來看看源程序是否存在語法錯誤.真正將高級語言變為一系列0和1的東西是連接器,將N多的obj文件編譯為可以執行的exe.當然在這之前還要有編譯程序來編譯目標文件.現在的開發工具如VC,VB實際上是分析器+編譯器+連接器+調試工具的集合.另外,如果你的程序要進行系統調用的話,比如socket程序的通訊.那麼需要和操作系統的資源打交道.實際上所有的IO操作,內存讀寫等等都要進行系統調用.哪怕是一個簡單的hello world!