當前位置:首頁 » 編程軟體 » 編譯執行是轉化為高級語言嗎

編譯執行是轉化為高級語言嗎

發布時間: 2022-04-20 01:23:05

❶ 高級語言按照計算機執行方式不同可以分為哪兩類它們的執行方式有什麼不同,請進行概要說明。

計算機高級語言按程序的執行方式可分為:編譯型和解釋型。
編譯型的語言之使用專門的編譯器、針對特定平台將某種高級語言源代碼一次性「翻譯」成課被該平台硬體執行的機器嗎(包括機器指令和操作數),並包裝成該平台所能識別的可執行性程序的格式,這個轉換過程成為編譯(Compile)。編譯生成的可執行性程序可以脫離開發環境,在特定的平台上獨立運行。有些程序編譯結束後,還可能需要對其他編譯好的目標代碼進行鏈接,級組裝兩個以上的目標代碼模塊生成最終的可執行性程序,通過這種方式實現低層次的代碼復用。因為編譯性慾眼十一磁性的編譯成機器碼,所以可以脫離開發環境獨立運行,且通常運行效率較高;但要移植,則必須將源碼復制到特定平台上,針對特定平台進行修改,至少重新編譯。
解釋型語言是指使用專門的解釋其隊員城西逐行解釋成特定平台的機器嗎並立即執行的語言,解釋型語言通常不會進行整體性的編譯和鏈接處理,解釋型語言相當與把編譯型語言中的編譯和解釋過程混合到了一起同時完成。可以認為:每次執行解釋型語言的程序都需要進行一次編譯,因此解釋型語言的程序運行效率通常較低,而且不能脫離解釋其獨立運行。其優勢在於跨平台容易,只需提供特定平台的解釋其即可。
除此外還有一種偽編譯型語言。如Visual Basic,可以成成可執行性的EXE文件,實際上這個文件中,既有程序的啟動代碼,也有鏈接解釋程序的代碼,而這部分代碼負責啟動Vsuial Basic 解釋程序,再對Vsuial Basic代碼進行解釋並執行。

❷ 高級語言程序的兩種執行方式是什麼

高級語言的兩種執行方式

一、 解釋方式

所謂解釋方式就是從源程序的第一條語句開始,對每條語句都先解釋,然後馬上執行剛解釋出的這些指令,再對下一條語句做同樣的處理,直到所有語句都處理完。

解釋方式有一個特點,就是翻譯出來的計算機指令並不會存檔(不會生成目標代碼)。執行完這些二進制指令就丟失了。因此,解釋型語言沒執行一次都要重新翻譯並執行。

二、 編譯方式

所謂編譯方式,首先通過編譯程序把整個源程序中的所有語句翻譯為匯編語言源程序,然後再通過匯編程序把匯編語言源程序翻譯為機器語言的機器指令,形成.exe文件(可執行文件),.exe文件是可以直接運行的文件。

(2)編譯執行是轉化為高級語言嗎擴展閱讀

1、C、C++、Java、Python等高級語言就是為了克服匯編語言的可移植性差,擺脫硬體底層的設計,用人的思維來編寫程序而設計的。高級語言表達方式接近人類的語言,描述問題的能力強,通用性,可讀性都很高。

2、所有的計算機語言,要想在計算機上運行都需要轉變為機器語言(只有0和1組成的)才能被執行。高級語言通過編譯程序(編譯器)翻譯成機器語言,匯編語言通過匯編程序(匯編器)翻譯為機器語言。

❸ 高級語言中的解釋方式和編譯方式的區別

兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。

❹ 編譯程序就是將高級語言翻譯成機器語言

很顯然不是的.編譯程序實際上分為分析器,編譯器,連接器等.分析器裡面又分為詞法分析和語法分析.詞法分析就是將源程序里的關鍵字,變數等等的東西解析出來,通俗點說就是把一個英語句子中的單詞分析出來.而語法解析則是從語法的角度來看看源程序是否存在語法錯誤.真正將高級語言變為一系列0和1的東西是連接器,將N多的obj文件編譯為可以執行的exe.當然在這之前還要有編譯程序來編譯目標文件.現在的開發工具如VC,VB實際上是分析器+編譯器+連接器+調試工具的集合.另外,如果你的程序要進行系統調用的話,比如socket程序的通訊.那麼需要和操作系統的資源打交道.實際上所有的IO操作,內存讀寫等等都要進行系統調用.哪怕是一個簡單的hello world!

❺ 編譯器為什麼能編譯高級語言

語言是人定義的,舉個簡單的例子 你創造個編譯器定義語句 「我實現A+B」,在編譯器裡面你事先定義了這個句子等價於C語言的 int C=A + B;再由C語言通過類似的方法轉換成匯編語言,這樣就把高級語言一步步處理成計算機能執行的每步。打個比方。一棟房子很高,頂樓就是高級語言,樓梯就是編譯器,底層就是計算機能識別的操作。比如JAVA就是用C寫的,其樓層比C高。一般來說,同等演算法條件下C語言執行更快。關於樓梯的原理(編譯器),你想了解的話你的看編譯原理相關書籍,上面涉及很多數學知識,包括很多狀態轉化,詞法分析,語義分析。比如int C=A+B中如何識別INT是什麼東西。「=」的意義等問題。說實話,如果你不是計算機專業,理解這個有困難的。對於一般人來說,不用從事相關工作的話,知道大概這個是幹嘛的就行了。比如你蓋個房子,你需要扳手,難道你要先學采鐵礦學冶煉學製作扳手的方法?。。

❻ 是不是任何高級語言的執行都會先轉變成匯編語言,然後再由匯編語言轉換成機器語言執行

不是主要看編譯器是如何設計 的 有的編譯器直接編譯成機器語言
有的編譯器直接編譯成匯編語言 在匯編成機器語言

❼ 為什麼高級語言中存在編譯和解釋兩種編譯方式

  1. 編譯方式:事先編好的一個叫做編譯程序的機器語言程序放在計算機中。當高級語言編的源程序輸入計算機時,編譯程序就把源程序自動整個地翻譯成用機器指令表示的目標程序。

  2. 解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。

  3. 因此往往需要特定的平台,由於程序執行的是編譯好的二進制文件,這種編譯一旦完成,那麼就只能在特定平台上運行了:編譯是指將源語言轉化為目標計算機的可執行二進制代碼兩者互有優劣,因此速度比較快(相對下面的解釋)。

  4. 解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。 可以這么理解,編譯的結果是另外一種語言,而解釋的就是一種中間語言。

❽ 編譯程序能直接執行高級語言源程序嗎

A、解釋程序

所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。這種工作方式非常適合於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。

B:編譯程序

這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。

編譯程序工作時,先分析,後綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優化,存儲分配和代碼生成。為了完成這些分析綜合任務,編譯程序採用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優化和存儲分配;第四遍掃描做代碼生成。

值得一提的是,大多數的編譯程序直接產生機器語言的目標代碼,形成可執行的目標文件,但也有的編譯程序則先產生匯編語言一級的符號代碼文件,然後再調用匯編程序進行翻譯加工處理,最後產生可執行的機器語言目標文件。

在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高級語言較好,雖然編譯過程本身較為復雜,但一旦形成目標文件,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如BASIC,這樣可以大大縮短編程及調試的時

❾ 編譯程序也是高級語言

能被執行的程序肯定是已經編譯成機器位元組碼的程序。比如常見的C++編譯器
C++的編譯器雖然自己也是以C/C++高級語言編寫,但被你用到的時候都已經編譯成「執行檔」binary。你只用執行檔。執行檔是操作系統作為運行環境的,由操作系統運行。

想Java或.net之類的平台,高級語言被編譯成位元組碼的執行檔,運行環境不是操作系統而是虛擬機。由虛擬機運行。

這個過程更明顯地體現在Free BASIC語言的發展過程。FB第一版是C語言寫的編譯的,然後從第二版開始都以BASIC語言編寫,自己FB編譯自己FB。這種叫自主編譯self-hosting.

編譯翻譯的過程就是一個查詞典的過程
比如
高級語言的+號,翻譯成add指令,寫入位元組碼05 XX
這和把換行\n翻譯成html的<br/>是類似的不同語言間的翻譯過程。

熱點內容
如何知道自己安卓的具體版本 發布:2025-03-31 16:39:37 瀏覽:894
雜牌電腦怎麼查看配置 發布:2025-03-31 16:27:34 瀏覽:198
linux27 發布:2025-03-31 16:26:51 瀏覽:149
個人電腦怎麼搭建郵政伺服器 發布:2025-03-31 16:22:33 瀏覽:691
安卓簡訊鈴聲在哪裡設置 發布:2025-03-31 16:22:28 瀏覽:724
手機無線網密碼怎麼改 發布:2025-03-31 16:20:58 瀏覽:368
安卓如何查看蘋果icloud備份內容 發布:2025-03-31 16:17:55 瀏覽:650
寶馬x1建議買哪個配置 發布:2025-03-31 16:07:48 瀏覽:353
4米2冷藏貨車什麼配置 發布:2025-03-31 16:06:04 瀏覽:480
ftp的密碼怎麼設置 發布:2025-03-31 16:05:25 瀏覽:848