是不是操作系統都需要編譯器
Ⅰ 先有編譯器 還是 先有操作系統 那個最早出來
是先有編譯器,然後再有的操作系統。
事例:
1949年,某大學開發了一款(電子延遲存儲自動計算機)第一個存儲程序的計算機。是第一台採用馮·諾依曼體系結構的計算機。後來跟著它又出現了一款匯編器名字叫初始命令。
1956年,出現了一款匯編器名字叫聯合航空符號匯編程序和公式翻譯程序語言。
1973年,出現了一款操作系統名字叫控制\監控程序。(第一個基於英特爾處理器的操作系統,其實就是最早的操作系統,其他網路站點上有詳細介紹)
電子延遲存儲自動計算機 EDSAC
初始命令 initial orders
聯合航空符號匯編程序 uasap-1
公式翻譯程序語言 Fortran
控制\監控程序 CP/M
還有,「查雨桃」說的不太妥,其實兩者都是系統軟體,都有幾率用機器語言編寫;
不過事實是由打孔的紙袋(機器語言)然後發展為上述然後發展出了高級語言公式翻譯程序。
Ⅱ 操作系統和編譯器的關系
操作系統是和硬體的橋梁,所有軟體如果要運行,就得在裝有操作系統的機器上運行。沒有安裝操作系統的計算機,是不能運行其它軟體的,裝上了linux,你才能在它上面安裝gcc, 你可以用gcc編譯各種軟體,比如linux版的QQ等,同樣你也可以用gcc編譯linux系統軟體(因為系統軟體也是軟體),並把編譯好的linux軟體放到機器上安裝。
當然也可以寫個編譯器在沒有操作系統的機器上編譯,但這個編譯器就要做很多和硬體打交道的事。至少gcc是不行的,要運行在操作系統上的。
Ⅲ 有關操作系統 ,編譯器 ,exe文件的問題,請大神指點一下, 這讓我想到了是先有雞還是先有蛋,迷茫 @_@
1. .h和.cpp稱之為源文件,源文件經過編譯器編譯成可執行文件(即,二進制文件)。
2. 操作系統不是一個exe。詳細情況的話,建議你看下linux操作系統相關書籍會非常明白。對操作系統的操作不會變成機器語言。比如,你點一下滑鼠,操作系統就會捕捉到這個中斷,調用相應的終端處理函數來進行相應的處理。操作系統一般不自帶編譯器。
3. exe是2進制代碼,能為相同體系的操作系統是執行(前提是該系統有相應的庫)。
樓主如果是搞這方面的,我建議先打好基礎,一步步來。
推薦以下書籍:
C和指針
C++ Primer
Understanding the Linux Kernel (幫助你理解操作系統,之所以推薦linux是因為其內核開源,看windows操作系統的書真的是一個坑阿!!!)
匯編原理 (幫助你理解編譯器)
慢慢來。
Ⅳ 請問操作系統自帶c語言編譯器嗎
C編譯器應該不是操作系統自帶的組成部分,一般在Windows環境下可以安裝商業化的IDE,如MS Visual Studio,也可以安裝純編譯器,如Borland C++ Compiler;而在linux(准確地說是UNIX類系統)上通常會隨著系統發布附帶編譯器gcc(不是操作系統的組成,故不一定有),具體位置大概是在/usr/bin/目錄下。
Ⅳ windows10系統自帶編譯器嗎
不一定。例如:Windows 操作系統就是不自帶編譯器的,它是一個獨立的操作系統,如果你需要編程的話,你還需要單獨購買 MS Visual C++編譯器,然後在安裝好 Windows系統的前提下面,再安裝運行 MS VC++,此時 VC++才能夠對你編寫的 C 語言源程序進行編譯、連接,最後產生可執行程序;而Linux則不同,它是自帶編譯器 gcc 的,所以你在安裝 Linux系統時,只要把 gcc 選上,就可以把 gcc 編譯器連同 Linux 操作系統一起安裝好。就不需要單獨購買 gcc 編譯器軟體了。
Ⅵ 操作系統是和CPU打交道的,那麼編譯器寫的程序為什麼還需要編譯。操作系統不能直接翻譯成機器碼么
操作系統同cpu打交道用的是機器碼,但是對我們來說他用的是自然語言即所說的高級語言,編譯器是的程序就是我們用高級語言寫的,要執行的時候還需要把他翻譯回機器碼,這個過程就是編譯。由於操作系統自身不帶有這種翻譯的功能,因此不能直接翻譯成機器碼,而且高級語言也分好多種,每種語言對應的翻譯方式也不一樣。
Ⅶ 操作系統啟動的時候有用到編譯器嗎
不用呀
Ⅷ 書上說編譯器是隨著操作系統裝在電腦上的,那操作系統也是用某種語言(如C等),那是誰翻譯的操作系統的語言呢
現有的操作系統都是在其他操作系統下完成編譯的。
最早的操作系統是機器碼,然後在那種操作系統上開發出匯編編譯器,接下來的操作系統就可以用匯編語言了。後來出來C語言編譯器,可以在匯編語言做的操作系統中編譯C語言的操作系統,然後在C語言的操作系統中再裝相應的編譯器,就可以編譯其他的了。所以編譯器和操作系統都是一步步發展的。
你之前的問題沒人回答是因為我沒看到。
Ⅸ 程序語言,操作系統,編譯器三者之間有何關系
匯編語言的編譯器很多,像MASM,NASM,TASM,gas等等,編譯器不一定用什麼語言來寫,像pascal最初的時候編譯器本身是用匯編和pascal語言寫的,但大部分編譯器是用C語言來寫的.windows向來封閉,不知道是用什麼寫的,應該是用C吧。C是一種編程語言,windows是一種操作系統,二者沒有直接關系。C的各個版本的不同在編譯器對C語言的擴充和處理上,而不在操作系統上,同樣是在windows平台上,TC和VC就不一樣。
這三者的關系,程序語言可以用來寫操作系統和編譯器,操作系統用來編譯器運行,編譯器用來編譯程序語言,編出來的東西可以是操作系統和編譯器。
Ⅹ 電腦自帶編譯器么還是安裝操作系統是會帶有自動安裝編譯器
不是所有的系統都帶. 很多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)。