導航:首頁 > 源碼編譯 > 編譯器與程序設計語言關系

編譯器與程序設計語言關系

發布時間:2022-02-26 08:30:36

① IDE(編輯器) 、編程語言、平台、編譯器 這些都是啥關系

IDE(編輯器):集成開發平台,開發程序用的,方便開發,VC6也可以說成是個IDE

編程語言:C++、C、PY等等,VC6就是C++

平台:平台的意思太廣,不容易解釋,你可以說linux、VC6是個開發平台

編譯器:把編程語言翻譯成電腦讀得懂的語言就是編譯器的功勞,不同的語言有著不同的編譯器,C++的編譯器是GCC

還有vim+gcc+gdb這三個組合是什麼意思?:
vim(文本編輯器) gcc(C++的編譯器)gdb是什麼我不知道……
這就可以說成是個開發平台,但是不像VC6是集成開發平台

個人能力有限,就先回答到這里

② C++開發工具和C++程序設計語言有什麼區別

這么說吧,C++開發工具,為用C++語言開發C++程序提供了好的支持。否則直接在記事本中寫C++程序(當然你要是有那麼牛,那也行,不用C++的開發工具,只要個編譯器你都能寫),較大的程序會是件不可能完成的事情。

比如,你要寫論文,你肯定是在word裡面寫是吧,但是你也可以在txt裡面寫啊,簡單的文章尚能對付。長篇大論你怎麼寫,怎麼排版?眼睛都看花了吧。

③ C語言和編譯器的關系

c語言,只是一個程序設計語言。不是理論,不是思想,不是體系結構。只是語言。
C語言的語法不一致並不是編譯器導致的。而是語言自然發展導致的。編譯器只是支持某種標準的c語言。
並且c語言現在也有標准了,ansi c。不同語法的問題可以不用關心。因為你基本上接觸不到另外一種語法。而且越新的編譯器,支持越好。

④ 請大家說一下計算機指令與程序語言的關系(比如說C語言)

層次不同。
指令只的是可以直接被機器識別並且處理的2進制代碼。
而程序設計語言經過編譯後,可以形成obj,經過連接後形成exe.其實2者都是指令,執行方式不同而已。
總之,2者的區別在於層次,一個在上,一個在下。
但應該注意,程序設計雖然在上,如果經過不同的編譯器予以解釋,形成的機器指令可能會有所不同。

⑤ 程序語言,操作系統,編譯器三者之間有何關系

可以理解為程序語言需要在編譯器裡面進行編譯,但是編輯器需要運行在操作系統里
編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標准化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員能夠准確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的
簡單講,編譯器就是將"一種語言(通常為高級語言)"翻譯為"另一種語言(通常為低級語言)"的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執行程序 (executables)
操作系統是管理計算機硬體資源,控制其他程序運行並為用戶提供交互操作界面的系統軟體的集合。操作系統是計算機系統的關鍵組成部分,負責管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網路與管理文件系統等基本任務。操作系統的種類很多,各種設備安裝的操作系統可從簡單到復雜,可從手機的嵌入式操作系統到超級計算機的大型操作系統。目前流行的現代操作系統主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少數操作系統,大部分操作系統都為類Unix操作系統。

⑥ 編譯器與編譯程序的關系

聽好了,它們是:編譯關系

⑦ 各種程序設計語言的區別

幾種程序語言的區別:java語言、python語言、C語言、PHP語言。

1、java語言:

PHP巨大的生態系統使得在未來幾年裡全世界需要大量的開發人員對其提供支持。排名前三的內容管理系統-WordPress、Drupal和Joomla都是使用PHP構建的,而且迄今大概有80%的網站運行在PHP之上。

⑧ 計算機語言 編譯器的問題

簡單點說你就是想知道程序設計語言、編譯器和開發環境之間的關系吧。

程序開發一般分為3個階段:1、編碼階段,2、編譯階段,3、運行階段。

編碼階段使用的就是程序設計語言,在樓主這就是Fortran。程序設計語言除了定義了文法以外,其他的任何事情他都不做

至於編譯階段使用的就是編譯器。編譯器與程序設計語言的關系就是,翻譯者與語言的關系。
因為計算機是無法識別程序設計語言的(Fortran),它只能識別機器語言或者匯編語言,而編譯器的作用就是把Fortran翻譯成機器語言或者匯編語言。

至於開發環境,就是程序運行時的環境。簡單的可以理解為樓主安裝的軟體。
編譯器 是開發環境的一部分。
開發環境,一般包括代碼編輯器、編譯器、調式工具等。

至於樓主要的開發軟體,網路一下很多的,所以不用擔心。
實在找不到,樓主可以找我

⑨ 編譯器和開發環境的關系

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

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

首先說程序設計語言,它同人類的自然語言一樣也是一個語言,並且它是自然語言的一個子集。大家都知道自然語言是極其龐大和復雜的系統,具有很多不不確定性和不精確性,因此至今我們也沒有辦法對自然語言進行形式化的描述。程序設計語言只是自然語言的一個很小的子集,在計算機系統中,一切都是需要確定性和精確性的描述,因此程序設計語言也是極為規范的,在程序設計語言中,幾乎就不允許存在不確定性和不精確性,也就是說不能存在文法的二義性。這樣一個程序設計語言就可以通過一系列的產生式來進行形式化的描述,這一系列的產生式就被稱為文法,語言就是由文法來定義的。從另外一個角度來說,一個程序設計語言,它僅僅是一個語言,它只對程序進行形式上的要求。或者說,程序設計語言對應於編程中的編碼階段。我們有必要對程序開發的三個階段進行了解,程序開發從時間先後順序上可以分為三個階段: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 等。

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

閱讀全文

與編譯器與程序設計語言關系相關的資料

熱點內容
c語言編譯器怎麼打中文 瀏覽:490
加密exe文件打不開怎麼辦 瀏覽:10
仕女pdf 瀏覽:929
安裝儲存伺服器是什麼意思 瀏覽:112
如何改文件夾內照片的後綴 瀏覽:764
程序員與公關關系 瀏覽:202
linuxgpu測試 瀏覽:384
tcl智能鎖用什麼app 瀏覽:143
程序員那麼可愛不好看 瀏覽:890
拳擊沙袋可以解壓嗎 瀏覽:304
周末php培訓班 瀏覽:984
戶型公攤面積快速演算法 瀏覽:323
亞洲7衛星加密節目破解 瀏覽:787
什麼相機app濾鏡好用 瀏覽:815
oracle存儲過程提示編譯完 瀏覽:547
頂級程序員出山 瀏覽:365
java獲取指定路徑 瀏覽:175
xampp教程linux 瀏覽:386
壓縮空氣洗車 瀏覽:707
cad中命令zoome 瀏覽:1001