當前位置:首頁 » 編程軟體 » 語言的編譯過程

語言的編譯過程

發布時間: 2022-01-10 20:36:24

c語言源程序的編譯過程包括哪三個階段

編譯:將源程序轉換為擴展名為.obj的二進制代碼
連接:將obj文件進行連接,加入庫函數等生成可執行文件
運行:執行可執行文件,有錯返回修改,無錯結束

㈡ 什麼叫解釋性語言,什麼叫編譯性語言

解釋性語言不需要編譯, 編寫好以後可以直接丟給解釋器執行, 只要有對應的解釋器, 寫好的代碼可以在任何平台上運行
編譯性語言: 不能直接運行, 需要通過編譯器將源代碼編譯(或者翻譯)成目標平台能夠執行的二進製程序(比如windows平台上的.exe文件)

㈢ 程序的編譯過程和解釋過程是怎樣的

【編譯程序】:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。
【解釋程序】:對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。
高級語言的程序的執行的途徑:
1)源程序(高級語言)->【編譯程序】->目標程序(匯編語言)->【匯編程序】->目標程序(機器語言)->計算結果
2)源程序(高級語言)->【編譯程序】->目標程序(機器語言)->計算結果
3)源程序(高級語言)->【解釋程序】(逐條讀出源程序中的語句並解釋執行,即在解釋程序的執行過程中並不產生目標程序)->計算結果

java語言編譯和解釋執行的具體過程是怎樣的

Java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這台虛擬的機器在任何平台上都提供給編譯程序一個的共同的介面。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。在Java中,這種供虛擬機理解的代碼叫做位元組碼(ByteCode),它不面向任何特定的處理器,只面向虛擬機。每一種平台的解釋器是不同的,但是實現的虛擬機是相同的。Java源程序經過編譯器編譯後變成位元組碼,位元組碼由虛擬機解釋執行,虛擬機將每一條要執行的位元組碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然後在特定的機器上運行。

㈤ C語言編譯執行的全過程是怎樣的

預處理階斷:這個就是那些#include啥的。
編譯階斷:把C語言的代碼轉成匯編語言代碼,比如 int a = 2; 它會生成mov a, 2;
匯編階斷:把匯編代碼轉換成機器碼,比如把mov a , 2 ; 轉成 cd07 (mov指令的機器碼中的一種機器碼)
鏈接階斷:製作成一個可執行文件,比如windows是PE的可執行文件,linux是elf的可執行文件,要製作成可以運行的程序。

㈥ C語言文件的編譯與執行的四個階段並分別描述

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(6)語言的編譯過程擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。

2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。

4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。

㈦ 世界上第一個語言編譯程序是用什麼語言編寫的

數字電子計算機,在1946年誕生,那時還沒有編譯程序,一台計算機就是一個程序,修改程序,就是直接修該內存的指令(電路).後來,出現了匯編程序(當然用機器語言寫的),匯編語言就出現了,在後來就有了高級語言.至於第一個編譯程序,嚴格來說匯編程序也是編譯程序,所以是用機器語言寫的.

㈧ c語言編譯過程

改程序改對後運行結果是327893.2789e+006A,改完後的代碼:

#include <iostream>

int main()
{
int a = 32789;
float p = 3.14;
char c = 'A';
p = a * 100;
std::cout<<a<<p<<c<<"\n";
return 0;
}

㈨ java語言的編譯過程與一般編程語言的編譯過程有何不同

  1. Java代碼編譯和執行的整個過程包含了以下三個重要的機制:

Java源碼編譯機制

類載入機制

類執行機制

  • Java源碼編譯機制

Java源碼編譯由以下三個過程組成:

分析和輸入到符號表

註解處理

語義分析和生成class文件


  • JVM的類載入是通過ClassLoader及其子類來完成的

  • JVM是基於棧的體系結構來執行class位元組碼的。線程創建後,都會產生程序計數器(PC)和棧(Stack),程序計數器存放下一條要執行的指令在方
    法內的偏移量,棧中存放一個個棧幀,每個棧幀對應著每個方法的每次調用,而棧幀又是有局部變數區和操作數棧兩部分組成,局部變數區用於存放方法中的局部變
    量和參數,操作數棧中用於存放方法執行過程中產生的中間結果

熱點內容
pythonurllib2沒有了 發布:2024-12-23 10:57:38 瀏覽:606
常考演算法 發布:2024-12-23 10:53:04 瀏覽:303
循跡小車演算法 發布:2024-12-22 22:28:41 瀏覽:82
scss一次編譯一直生成隨機數 發布:2024-12-22 22:04:24 瀏覽:956
嫁接睫毛加密 發布:2024-12-22 21:50:12 瀏覽:975
linuxbin文件的安裝 發布:2024-12-22 21:46:07 瀏覽:798
vlcforandroid下載 發布:2024-12-22 21:45:26 瀏覽:664
電腦做網關把數據發送至伺服器 發布:2024-12-22 21:44:50 瀏覽:432
新華三代理什麼牌子的伺服器 發布:2024-12-22 21:33:21 瀏覽:342
歡太會員密碼是什麼 發布:2024-12-22 20:57:28 瀏覽:74