編譯器與操作系統
A. 電腦自帶編譯器么還是安裝操作系統是會帶有自動安裝編譯器
不是所有的系統都帶. 很多linux都會帶gcc, 以前的DOS和win98帶qbasic,
現在的Windows基本沒有帶編譯器,但是帶有一些腳本解釋器,包括javascript, vbscript
Windows vista帶powershell解釋器。
,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
B. 操作系統和編譯器的關系
操作系統是和硬體的橋梁,所有軟體如果要運行,就得在裝有操作系統的機器上運行。沒有安裝操作系統的計算機,是不能運行其它軟體的,裝上了linux,你才能在它上面安裝gcc, 你可以用gcc編譯各種軟體,比如linux版的QQ等,同樣你也可以用gcc編譯linux系統軟體(因為系統軟體也是軟體),並把編譯好的linux軟體放到機器上安裝。
當然也可以寫個編譯器在沒有操作系統的機器上編譯,但這個編譯器就要做很多和硬體打交道的事。至少gcc是不行的,要運行在操作系統上的。
C. 先有編譯器 還是 先有操作系統 那個最早出來
是先有編譯器,然後再有的操作系統。
事例:
1949年,某大學開發了一款(電子延遲存儲自動計算機)第一個存儲程序的計算機。是第一台採用馮·諾依曼體系結構的計算機。後來跟著它又出現了一款匯編器名字叫初始命令。
1956年,出現了一款匯編器名字叫聯合航空符號匯編程序和公式翻譯程序語言。
1973年,出現了一款操作系統名字叫控制\監控程序。(第一個基於英特爾處理器的操作系統,其實就是最早的操作系統,其他網路站點上有詳細介紹)
電子延遲存儲自動計算機 EDSAC
初始命令 initial orders
聯合航空符號匯編程序 uasap-1
公式翻譯程序語言 Fortran
控制\監控程序 CP/M
還有,「查雨桃」說的不太妥,其實兩者都是系統軟體,都有幾率用機器語言編寫;
不過事實是由打孔的紙袋(機器語言)然後發展為上述然後發展出了高級語言公式翻譯程序。
D. 學習編譯原理和操作系統對編程能力有什麼作用
學習編譯原理和操作系統對編程能力對編程能力的作用在於:
1、學好了編譯原理,才可能編寫出高效,穩健,佔用內存少的程序。
2、學習操作系統對windows相關的編程很有幫助。如果是對操作系統關系不大的C/C++/c#,java之類的編程,關系不大。
編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提高軟體人員的素質和能力。
操作系統(Operating System,簡稱OS)是管理和控制計算機硬體與軟體資源的計算機程序,是直接運行在「裸機」上的最基本的系統軟體,任何其他軟體都必須在操作系統的支持下才能運行。
E. 到底是先有編譯器還是先有操作系統
1946年,第一台真正意義上的數字電子計算機ENIAC誕生。
1952年,Grace Murry Hopper女士發布世界上第一套高級語言編譯器A-0,可以在Sperry機器上將英文、法文和德文編譯成機器語言(原來最早的高級語言是它們,呵呵)。1956年,她做出程序語言FLOW-MATIC。她對計算機界有很多貢獻,如bug這個詞就是她發明的。她最喜歡的一句名言是:A ship in port is safe, but that is not what ships are built for.
同樣是在1956年,IBM公司推出科學704計算機。IBM/704大型機配備了世界上最早的操作系統。
1957年,第一個被廣泛使用的高級語言——FORTRAN誕生。
1964年,IBM/360系列完成,它配備的OS/360是早期操作系統的代表。