當前位置:首頁 » 編程軟體 » 編譯與開發環境的關系

編譯與開發環境的關系

發布時間: 2022-04-20 08:57:46

編譯器和開發環境的關系

談談程序設計語言、編譯器和開發環境之間的關系

許多初學者都會對這三個概念區分不清,應該說這三個概念是完全不同的,不能混為一談。在本文中,我就盡我最大的能力來講講這三個概念以及他們之間的關系。

首先說程序設計語言,它同人類的自然語言一樣也是一個語言,並且它是自然語言的一個子集。大家都知道自然語言是極其龐大和復雜的系統,具有很多不不確定性和不精確性,因此至今我們也沒有辦法對自然語言進行形式化的描述。程序設計語言只是自然語言的一個很小的子集,在計算機系統中,一切都是需要確定性和精確性的描述,因此程序設計語言也是極為規范的,在程序設計語言中,幾乎就不允許存在不確定性和不精確性,也就是說不能存在文法的二義性。這樣一個程序設計語言就可以通過一系列的產生式來進行形式化的描述,這一系列的產生式就被稱為文法,語言就是由文法來定義的。從另外一個角度來說,一個程序設計語言,它僅僅是一個語言,它只對程序進行形式上的要求。或者說,程序設計語言對應於編程中的編碼階段。我們有必要對程序開發的三個階段進行了解,程序開發從時間先後順序上可以分為三個階段:1.編碼階段,2.編譯階段,3.運行階段。在編碼階段,我們使用的就是程序設計語言。語言除了定義了文法以外,其他的任何事情他都不做。當然一種語言也有很多種版本,比如 BASIC 語言,就有很多種版本,C語言也是如此。這里所講的語言的版本與編譯器的版本是不一樣的。C語言的標准版本就是 ANSI C,如果初學者會提出這樣的問題「C語言哪個更好?」,這樣的問題反映出他們對語言與編譯器之間的關系的認識的不足。如果從語言的角度來講 VC 和 TC 是沒有多大區別的,他們基本上都能支持 ANSI C。

再來看看編譯器。編譯器與語言的關系就是,翻譯者與語言的關系。編譯器就是一個翻譯,他把使用某種語言書寫的源程序,翻譯成為等價的使用目標語言書寫的目標程序。前面我們也說了,語言是一個抽象的概念,是由文法來定義的。唯一實在的東西,也就是定義語言的文法。在使用語言時,我們只能說,使用這種語言去書寫一段程序。編譯器則是能夠將某種語言的源程序進行翻譯,然後生成目標程序。我們通常會說,某個編譯器支持了什麼語言,也就是說這個編譯器能識別並翻譯這種語言。現在的C編譯器,一般都是支持了 ANSI C 語言的,另外,編譯器的設計者可能還會對 ANSI C 進行一定的擴充,而且各個編譯器進行擴充功能都是不同的,因此可能就會出現一個編譯器誕生以後,就會出現一個新的語言的現象。TC 和 VC 就分別對 ANSI C 進行了不同的擴充,比如在 TC 中有 far 等關鍵字,ANSI C 中是沒有的,在 VC 中有內嵌匯編的語法 _asm,而在 TC 中則是使用 asm 關鍵字,這些內容在 ANSI C 中沒有的。編譯器的輸入時源程序,而其輸出則是目標程序。一般情況下,源程序是使用某種高級語言書寫的,而目標程序則是某個特定機器的機器語言程序。另一方面,編譯器除了提供編譯功能,還會提供一些運行庫。所謂運行庫就是由一些事先寫好的子程序所組成的子程序庫。例如C語言中的 printf 函數,就是由C的運行庫提供的。在 ANSI C 中定義了一些C語言的標准庫函數,這些庫函數是標准C必須具備的,也可以說這些庫函數成為了 ANSI C 的一個部分。另外,不同的編譯器還可以提供自己的,非標準的庫給用戶使用,在 TC 中的 Graphics 庫,其實就是由 TC 提供的,它不是屬於 ANSI C 的。簡單的說,編譯器是由編譯程序和運行庫組成的。在程序的編譯階段,就是使用編譯器對源程序進行編譯生成目標程序。

在程序的運行階段則是在一個特定的平台上,由這個平台來執行編譯生成的程序。java 虛擬機是一個平台,DOS 和 Windows 也是平台,編譯器的作用就是溝通源程序和程序的運行平台。源程序相對於一個運行平台來說是不可識別的,但當編譯器將源程序編譯成為這個平台所能夠識別的目標語言以後,程序就可以在這個平台上運行了。

應該看到,編譯器在其中起到了很重要的作用。我們現在可以明確一些概念了,程序設計語言只是語言,它本身很難說有什麼好壞,這就如同說「漢語和英語哪個好」一樣。使用某一種程序設計語言,我們可以書寫自己的程序,從而向計算機表達自己希望完成的功能。這個階段,我們稱為編碼階段。編譯器由編譯程序和運行庫組成,編譯程序負責將源程序翻譯成為目標程序,運行庫提供了一些基本的子程序給程序編寫者使用。我們可以說編譯器是否支持某種語言,例如 TC 編譯器是支持 ANSI C 的,而 GCC 則是一個能夠支持多種語言的編譯器。然而不同的編譯器除了提供對某種語言的支持以外,還可能對該語言進行了某些功能擴充。編譯器在對語言的支持上,差別都是不太大的,這是因為許多語言都制定了一個標准,例如 ANSI C。編譯器的另外一個重要特性,就是對運行平台的支持。平台指的是一個程序運行所需要的所有軟體和硬體的基礎。編譯器對運行平台的支持,是通過將源程序編譯成為目標程序,以及編譯器所提供的運行庫來實現的。例如,TC只能將C源程序編譯生成,使用 80x86 CPU,操作系統為 DOS 的 16bit DOS 程序。VC只能將C源程序編譯生成 80x86 CPU、操作系統為 Windows 的 32bit Windows 程序。使用編譯器對源程序進行編譯被稱為編譯階段,這個階段編譯程序將源程序編譯為某個平台的目標代碼。程序在具體的平台上運行時,被稱為運行階段。應該指出,在編碼階段使用到的是程序設計語言,以及編譯器所提供的庫函數,這個階段產生的是源程序。在編譯階段使用的是源程序和編譯器,這個階段產生的是目標程序。在運行階段使用到的是目標程序和運行平台,這個時候產生的是程序運行結果。

因此說討論一個程序設計語言好壞沒有多大意義,因為他們使用的場合不同,比如匯編語言和 Java 語言,要談論這兩個語言的好壞是沒有實際意義的。而說「C語言哪個好」之類的話也是沒有意義的,我想大家學的C也就是在 ANSI C 基礎上的C,並且不同的C語言之間的差別是極小的。我們通常指的 TC、VC 都是指編譯器,而不是語言。編譯器能夠支持一種或者多種的程序設計語言,TC 能夠支持 ANSI C,VC 能夠支持 ANSI C 和 ANSI C++,而 GCC 則是一個支持多語言的編譯器。如果真要說 VC 比 TC 好,只能說 VC 編譯器提供的庫函數更多,並且 VC 能夠支持的平台是 Windows,而 VC 編譯出來的代碼也都是 32bit 的。

在以上概念中糾纏了這么久,我也不再想多說了。再來看開發環境。為了能夠方便程序設計者進行編碼、調試等工作,編譯器製造商在製作好一個編譯器以後,都會提供一個集成開發環境(又稱為IDE)。在這個 IDE 中,用戶可以完成編碼、編譯、調試、運行的全部工作。並且在最新的IDE中,可能還會提供一個可視化的設計功能,可以方便用戶進行程序界面的設計。例如 VB 等。另外一個方面,開發環境除了包括 IDE 以外,還包括了程序運行的平台。比如硬體是 IBM PC 兼容機,操作系統是 Windows 等。

可能,能講的也就這么多了,感覺講的並不是很好,不過我已經盡力了。有些東西是很難說清楚的,「只能意會不可言傳」指的就是這個了。不要怪我講的不好,還是自己用心去理解和體會吧。

Ⅱ 編程語言和開發環境的區別是什麼

開發環境是一個集成環境,用來編譯、運行你編寫程序的,將「人」的高級語言的程序編譯為「計算機」可識別的代碼,它好比是一個工具箱、轉換器;編程語言是「人」使用的語言,製作出各種各種的「菜」,必須用這個「工具箱」轉換,使計算機去執行它。

Ⅲ 什麼是編譯環境他的作用是什麼編譯環境跟運行平台有什麼不同

編譯環境是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。作用是通過代入預定義等程序段將源程序補充完整。

編譯環境跟運行平台區別為:工具不同、調試不同、硬體支持不同。

一、工具不同

1、編譯環境:編譯環境包含開發、調試和部署等工具。

2、運行平台:運行平台只包含運行指令和class實現的工具。

二、調試不同

1、編譯環境:編譯環境有調試代碼的功能,調試後可重新編譯執行。

2、運行平台:運行平台沒有調試代碼的功能。

三、硬體支持不同

1、編譯環境:編譯環境使用的是模擬設備,不需要硬體支持。

2、運行平台:運行平台需要硬體支持,在實際設備中運行。

Ⅳ 集成開發環境和ide和編譯器和編譯工具有什麼關系嗎

IDE就是集成開發環境的英文縮寫,一般集成開發環境里集成了編譯器和解釋器,
編譯工具當然就是有編譯功能的工具了。

Ⅳ IDE和開發環境的問題

IED為集成開發環境,也就說IDE就是開發環境的意思,編譯器其實就是翻譯代碼的工具,將我們輸入的計算機高級語言翻譯成計算機可以識別的二進制代碼

IED是為開發者提供可視化程序開發界面,如Visual Studio系列;

IDE的功能是設定好的,與語言無關

註:
我們所熟知的C語言C++語言都屬計算機高級語言,編譯器就是會將這些語言翻譯成匯編語言,以至二進制代碼;
IDE一方面提供用戶可視化編程界面,一方面封裝編譯器,用於編譯我們輸入的計算機語言

祝樓主好運,謝謝樓主給分哦,o(∩_∩)o...

Ⅵ 編程語言 編譯器 運行平台 開發環境 分別是什麼它們有什麼關系

搶個沙發,其實不知道餓,
語言:就是一些語法,跟英語差不多,但是要加點邏輯思維,比如:'循環'和'如果',用英語翻譯出來,
編譯器:就是把你寫出來的英語,翻譯成電腦能看得懂的語言
運行平台:c井的運行平台應該是.net FrameWork吧,就是要裝上那個東西,才 能打開看
開發環境:比如c井的開發環境應該就是visual studio了, 就是說要用那個才能做系統,網站一類的東西

Ⅶ 開發環境,開發工具,編輯器,編譯器的區別

開發環境= 編輯器 = 開發工具. 例如:vs2005 vs2008 都是開發環境,也叫開發工具. 非要強調的話,編輯器就是你寫代碼的地方.

編譯器區別就比較大了, 編譯器是用來編譯你寫好的代碼的. 例如: java的編譯器是java虛擬機,它負責處理和編譯你寫的源代碼. vs的編譯器就是另外的東西了.

打字很辛苦,記得給分哦

Ⅷ 編譯器與環境區別

編譯器一般只是一個很小和程序,用於對已經存在的程序源代碼進行編譯和鏈接,而集成開發環境是用來開發程序的,包括寫代碼,使用某種編譯器來編譯等等。例如微軟的C++編譯器只是個很小和文件,但集成開發環境卻很大比如vs2005

Ⅸ 編譯程序與集成開發環境有什麼不同舉例說ming

以下選自網路:
集成開發環境(IDE,Integrated Development Environment )是用於提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具。集成了代碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟體服務套。

換句話說,編譯器只是集成開發環境的一部分。
比如最常見的集成開發環境:Visual Studio(其使用的編譯器是cl(貌似今年會集成clang編譯器))。
除cl外,比較常見的編譯器還有gcc。

Ⅹ 編程語言與它的集成開發環境有什麼關系舉幾個例子好嗎

集成開發環境(Integrated Developing Environment,簡稱IDE):是一個綜合性的工具軟體,它把程序設計全過程所需的各項功能集合在一起,為程序設計人員提供完整的服務。
例如:Visual C++ 6.0 IDE 就是這樣一種集成開發環境。

集成開發環境並不是把各種功能簡單地拼裝在一起,而是把它們有機地結合起來,統一在一個圖形化操作界面下,為程序設計人員提供盡可能高效、便利的服務。例如,程序設計過程中為了排除語法錯誤,需要反復進行編譯——查錯——修改——再編譯的循環,集成開發環境就使各步驟之間能夠方便快捷地切換,輸入源程序後用簡單的菜單命令或快捷鍵啟動編譯,出現錯誤後又能立即轉到對源程序的修改,甚至直接把游標定位到出錯的位置上。再如,集成開發環境的編輯器除了具備一般文本編輯器的基本功能外,還能根據C++的語法規則,自動識別程序文本中的不同成分,並且用不同的顏色顯示不同的成分,對使用者產生很好的提示效果。本章的前面部分只涉及了VC++的最基本功能,隨著學習的深入,還將了解並使用更多的功能。

工程(Project):在VC++中,一項程序設計任務被稱為一個「工程」。它由一系列相關文件的集合,包括在程序設計全過程中產生的所有文件:源文件、資源文件、程序結構消息文件、系統參數設置文件、目標文件……,直到最後的可執行文件。

在VC++中,編寫一個程序從創建一個工程開始,創建時要為這個工程指定一個工程名(Project Name),VC++會為每個工程建立工程文件、工作區文件和選項文件,分別以工程名加上後綴「.dsp」、「.dsw」、「.opt」為文件名,這些文件中保存著與工程有關的各種信息,包括對環境的設置和編輯、編譯、連接等操作的工作狀態。

熱點內容
獲取資料庫所有表 發布:2025-07-05 09:39:12 瀏覽:653
wcfphp 發布:2025-07-05 09:39:07 瀏覽:178
解壓密碼對 發布:2025-07-05 09:33:00 瀏覽:586
廣東金稅盤的伺服器地址是什麼 發布:2025-07-05 09:10:29 瀏覽:704
掛式手機卡的服務密碼是多少 發布:2025-07-05 08:57:40 瀏覽:944
電信卡密碼八位數是多少 發布:2025-07-05 08:49:37 瀏覽:441
配置高用的久選什麼電腦 發布:2025-07-05 08:22:40 瀏覽:741
迷你世界如何卡進設密碼的房間 發布:2025-07-05 08:15:16 瀏覽:882
小米9se買哪個配置 發布:2025-07-05 07:57:32 瀏覽:365
金山快盤拒絕訪問 發布:2025-07-05 07:42:29 瀏覽:251