當前位置:首頁 » 編程軟體 » 高級語言通過編譯程序進行編譯

高級語言通過編譯程序進行編譯

發布時間: 2022-04-24 07:28:42

1. 在使用高級語言編程時,首先可通過編譯程序發現源程序的什麼錯誤

語法錯誤。
編譯過程 是對本文件操作。發現的就是本文件的語法錯誤。

2. 用於高級語言的編譯程序有哪兩種

用於高級語言的編譯程序有兩種:編譯程序和鏈接程序。
c語言為例,編譯器是cc,可能鏈接程序就是link。
二者作用是不同的,編譯器是把源程序翻譯成符號語言,鏈接程序把來自不同源文件的多個程序整合起來,形成最終的可執行程序。
C++的編譯系統沿用了C語言。其他語種,如PASCAL,DELPHI,C#,OBJECT-C,本質上沒發生變化
高級語言本身分成兩類,編譯型和解釋性的,編譯型的就是上面的類型,解釋型的,如BASIC,java
PHP,
PYTHON等,是不需要編譯的,可以直接根據源代碼(或中間代碼)直接翻譯到操作系統上。

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

高級語言的兩種執行方式

一、 解釋方式

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

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

二、 編譯方式

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

(3)高級語言通過編譯程序進行編譯擴展閱讀

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

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

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

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

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

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

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

5. 高級語言經過編譯器之後的處理

假設你的程序有兩種源代碼,一種是C語言寫的,一種是java寫的,現在要發布到這幾個平台上:
1、Windows 7/xp/vista...
2、Linux RedHat/Fedora/Unbutu...
3、Symbian S60/S50(手機)

那麼源程序如果是C語言的,需要找下面的工具:
1、VC60/VS2008,負責編譯生成VISTA/XP/WIN7用的.exe文件
2、G++,負責編譯生成Linux用的可執行程序
3、Symbian用的C++編譯器,不說也罷

如果源程序是JAVA語言的,那麼需要做的僅僅是用javac編譯、jar打包,然後:
1、確保目標WIN7/XP/VISTA安裝了java虛擬機
2、確保目標LINUX安裝了java虛擬機
3、確保目標手機Symbian系統已安裝了支持同版本的java虛擬機

看明白沒有?C語言編譯器是直接把源程序一步翻譯為目標計算機(16位,32位,64位)的指定晶元(X86或ALPHA PPC,RISC)、指定操作系統(WINDOWS,DOS,LINUX,SYMBIAN)用的特定可執行程序目標碼,

而JAVA編譯器是把程序翻譯為中間碼,由虛擬機將中間碼解釋為最終的指定晶元、指定操作系統的可執行程序目標碼

嚴格來說,C和C++、JAVA都是跨平台的,但C#肯定不是,至少目前還沒有人在LINUX上做C#的實現。

不同的是,C和C++是通過不同平台上的不同編譯器實現跨平台
JAVA是通過不同平台的不同虛擬機實現跨平台

這樣說你看懂了沒有?

6. 高級語言經過編譯

高級語言要執行須經過以下步驟:
高級語言——》匯編語言——》機器語言(0和1的代碼)
高級語言通過編譯其編譯成匯編語言,如:
c = a + b;//高級語言
add $s1 $t1 $t2 ; //匯編語言
再由匯編程序轉換成二進制代碼,如:
000000 10001 10010 01000 00000 100000
註:每條匯編語言都有唯一的機器語言與之對應
在翻譯成機器代碼後就要把機器代碼與原文件 鏈接 載入 於是就運行了

7. 高級語言的編譯過程,經過哪幾個步驟

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

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

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

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

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

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

(7)高級語言通過編譯程序進行編譯擴展閱讀:

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

1、首先,對源代碼文件進行測試。以及相關的頭文件,比如Stdio。H.CPP預處理為。我的文件。預編譯。該文件不包含任何宏定義,因為所有宏都已展開,且包含的文件已插入。我提起。

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

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

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

8. 所有高級語言使用相同的編譯程序完成翻譯工作.這句話對嗎

錯,不同的高級語言除了C和C++可以共用一個編譯器,其餘的編譯器都是不同的

9. 為什麼高級程序語言需要編譯程序

計算機語言是人與計算機之間交流的媒介,其種類非常多,但大體上分為機器語言、匯編語言、高級語言三大類。

計算機不能直接理解高級語言,只能直接理解機器語言,因此必須將高級語言翻譯成機器語言,翻譯的過程分為兩種,一種是解釋,一種是編譯。兩種方式的區別在於翻譯的時間,編譯是在程序運行之前,需要一個專門的過程,將程序編譯成為機器語言的文件,比如EXE文件,以後要運行的話就不用再重新編譯了,直接使用之前的編譯結果就行了,因為只翻譯一次,運行時不需要再翻譯,所以編譯型語言的程序執行效率高。

解釋性語言則不同,解釋性語言不需要編譯,其程序在運行時才翻譯,每個語句都是執行時才翻譯。這樣解釋性語言每執行一次就要翻譯一次,其執行效率則相對較低。

另外,編譯型語言以二進制形式保存,源代碼不可見;解釋性語言以代碼形式保存。

10. 高級程序設計語言如何編譯

你這個問題太大了
高級程序語言需要找對應的編譯器,比如 c語言編譯器,pascal 語言編譯器......
更具體的,同樣都是 c 語言也會有不同編譯器,比如 vistual studio c++ 編譯器等等

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:516
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:19
linux485 發布:2025-07-05 14:38:28 瀏覽:299
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:751
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:425
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:687
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:234
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:679
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:277
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:828