高級語言被編譯器轉換為機器語言
① 高級程序設計語言轉換成機器語言需要哪些步驟
電腦是一台機器,機器硬體靠識別機器語言來運作,機器語言由編譯軟體將高級語言轉換而來,高級語言有c++,java等,靠人來編寫
② 計算機中高級語言怎樣轉化成機器語言
將高級語言轉換成由0,1構成的機器語言需要通過編譯程序來實現。
編譯程序實際上分為分析器,編譯器,連接器等.
分析器裡面又分為詞法分析和語法分析.詞法分析就是將源程序里的關鍵字,變數等等的東西解析出來,通俗點說就是把一個英語句子中的單詞分析出來.而語法解析則是從語法的角度來看看源程序是否存在語法錯誤.
真正將高級語言變為一系列0和1的東西是連接器,將N多的obj文件編譯為可以執行的exe.
當然在這之前還要有編譯程序來編譯目標文件.
現在的開發工具如VC,VB實際上是分析器+編譯器+連接器+調試工具的集合.
另外,如果你的程序要進行系統調用的話,比如socket程序的通訊.那麼需要和操作系統的資源打交道.實際上所有的IO操作,內存讀寫等等都要進行系統調用.哪怕是一個簡單的hello world!
③ 編譯程序可以將高級語言變成機器語言嗎
將高級語言轉換成由0,1構成的機器語言需要通過編譯程序來實現。即可轉化成機器語言。
機器語言是一種指令集的體系。這種指令集,稱機器碼,是電腦的CPU可直接解讀的數據。
機器碼有時也被稱為原生碼,這個名詞比較強調某種編程語言或庫,它與運行平台相關的部份。
④ 程序語言最終怎樣被轉換成計算機能讀懂的機械語言,0和1,
程序語言有很多,拿最常用的c/c++語言舉例。
將用戶的文本形式的源代碼轉化成計算機可以直接執行的機器代碼的過程。主要經過這么幾個過程:
一、預編譯,又稱為預處理 , 是做些代碼文本的替換工作
二、編譯,由編譯器將c源代碼(.cpp)轉變成匯編代碼(.s)
三、匯編,由匯編器將匯編代碼(.s)轉變成目標代碼(.o)
四、鏈接,由鏈接器將代碼在執行過程用到的其他目標代碼和庫文件鏈接成為一個可執行程序也就是目標程序。
經過以上步驟高級語言就會被解釋成為計算機可以認知的機器語言。
(4)高級語言被編譯器轉換為機器語言擴展閱讀
一、預編譯
1、定義
處理以# 開頭的指令 , 比如拷貝 #include 包含的文件代碼,#define 宏定義的替換 , 條件編譯等,就是為編譯做的預備工作的階段。
主要處理#開始的預編譯指令,預編譯指令指示了在程序正式編譯前就由編譯器進行的操作,可以放在程序中的任何位置。
二、編譯
1、定義
編譯的過程就是將源代碼文件以字元流的形式進行處理,進行詞法和語法的分析,然後通過匯編器將源代碼指令轉變成匯編指令,編譯的過程包括兩個大部分:預處理 = 預編譯
2、特殊符號
特殊符號是指:例如在源程序中出現的LINE標識將被解釋為當前行號(十進制數),FILE則被解釋為當前被編譯的C源程序的名稱。預編譯程序對於在源程序中出現的這些串將用合適的值進行替換。
三、匯編
1、定義
匯編過程實際上是把匯編語言代碼翻譯成目標機器指令的過程。對於被翻譯系統處理的每一個C語言源程序,都將最終經過這一處理而得到相應的目標文件。目標文件中所存放的也就是與源程序等效的目標的機器語言代碼。
四、鏈接
1、定義
由匯編程序生成的目標文件並不能立即就被執行,其中可能還有許多沒有解決的問題。
⑤ 將高級語言編寫的程序翻譯成機器語言程序,採用的兩種翻譯方式是( )。
正確答案是A,編譯和解釋。
原因是:編譯和解釋是將高級語言編寫的程序翻譯成機器語言程序的兩種方式。解釋方式是將源程序逐句解釋執行,即解釋一句執行一句,因此在解釋方式中不產生目標文件。
例如,早期的BASIC語言採用的就是「解釋」方式。編譯方式是將整個高級語言編寫的源程序先翻譯成機器語言程序,然後再生成可在操作系統下直接運行的執行程序,通常會產生目標程序。
(5)高級語言被編譯器轉換為機器語言擴展閱讀
程序設計語言的類型:
1、命令式語言。這種語言的語義基礎是模擬「數據存儲/數據操作」的圖靈機可計算模型,十分符合現代計算機體系結構的自然實現方式。其中產生操作的主要途徑是依賴語句或命令產生的副作用。現代流行的大多數語言都是這一類型,比如Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C#等,各種腳本語言也被看作是此種類型。
2、函數式語言。這種語言的語義基礎是基於數學函數概念的值映射的λ運算元可計算模型。這種語言非常適合於進行人工智慧等工作的計算。典型的函數式語言如Lisp、Haskell、ML、Scheme、F#等。
3、邏輯式語言。這種語言的語義基礎是基於一組已知規則的形式邏輯系統。這種語言主要用在專家系統的實現中。最著名的邏輯式語言是Prolog。
4、面向對象語言。現代語言中的大多數都提供面向對象的支持,但有些語言是直接建立在面向對象基本模型上的,語言的語法形式的語義就是基本對象操作。主要的純面向對象語言是Smalltalk。
⑥ 編譯程序將高級語言程序翻譯成與之等價的機器語言程序,該機器語言程序稱為
選C。高級語言源程序翻譯成等價的機器語言程序(稱為目標程序)
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(6)高級語言被編譯器轉換為機器語言擴展閱讀:
為了將人類語言翻譯成機器變成機器能夠理解的語言,還需要進行翻譯。就好像你不懂英語,英語可以翻譯成漢語,這樣你就能明白其中的含義。對於計算機來說,這個過程是一樣的。不過計算機對於翻譯有更高的要求。
人類之間互相翻譯語言,有一些微小的出入並不影響理解,計算機為了能夠准確的得到結果,要求這個翻譯的過程,必須保證「將一種語言翻譯成涵義相同的等價的另一種語言」。
在早期,程序的規模還比較小,翻譯的過程可以人工的進行。利用查表的方式,最終是可以得到等價的機器碼序列。隨著計算機科學的發展,程序規模膨脹的越來越快,人工翻譯變的沒有可行性。此時就有人提出,編寫一套軟體來進行這個翻譯的過程。
一開始人們只用匯編語言進行程序開發。所以只需要將匯編語言翻譯為機器語言就可以了。這是相當直截了當的過程,因為匯編語言的助記符和機器指令是一一對應的關系。
所以只需要完成一個能夠自動查表並轉換的程序即可。很快,這樣的程序就被發明了出來。我們稱之為「匯編器」。