『壹』 操作系統和編譯器的關系
操作系統是和硬體的橋梁,所有軟體如果要運行,就得在裝有操作系統的機器上運行。沒有安裝操作系統的計算機,是不能運行其它軟體的,裝上了linux,你才能在它上面安裝gcc, 你可以用gcc編譯各種軟體,比如linux版的QQ等,同樣你也可以用gcc編譯linux系統軟體(因為系統軟體也是軟體),並把編譯好的linux軟體放到機器上安裝。
當然也可以寫個編譯器在沒有操作系統的機器上編譯,但這個編譯器就要做很多和硬體打交道的事。至少gcc是不行的,要運行在操作系統上的。
『貳』 C語言問題 求位前輩 對於操作系統的字長是多少位 和C語言的關系不是很很了解
首先需要知道的是CPU字長(機器字長),這個是硬體決定的,指cpu同時參與運算的二進制位數,機器字長直接決定著機器可定址的虛擬空間地址大小。常見的機器字長有16位,32位,64位等。
其次是操作系統字長。 操作系統字長就是操作系統的位數,對於電腦操作系統來說,有32位64位兩種。操作系統字長是軟體的概念,依賴於硬體,但不一定相同。64位機器字長上可以安裝32位的操作系統,但是反之則不行。即操作系統字長不可高於機器字長。
C語言的編譯器是運行於操作系統之上的軟體,所以編譯器依賴於操作系統。編譯器字長不可高於操作系統。
C語言編譯器的字長,影響C語言的編譯運行,由C語言編譯器編譯出的可執行文件的運行字長,不能高於編譯器字長。
於是,綜合這幾個的關系,就是
C語言編譯出的軟體字長 ≤ C語言編譯器字長 ≤ 操作系統字長≤機器字長。
『叄』 程序語言,操作系統,編譯器三者之間有何關系
匯編語言的編譯器很多,像MASM,NASM,TASM,gas等等,編譯器不一定用什麼語言來寫,像pascal最初的時候編譯器本身是用匯編和pascal語言寫的,但大部分編譯器是用C語言來寫的.windows向來封閉,不知道是用什麼寫的,應該是用C吧。C是一種編程語言,windows是一種操作系統,二者沒有直接關系。C的各個版本的不同在編譯器對C語言的擴充和處理上,而不在操作系統上,同樣是在windows平台上,TC和VC就不一樣。
這三者的關系,程序語言可以用來寫操作系統和編譯器,操作系統用來編譯器運行,編譯器用來編譯程序語言,編出來的東西可以是操作系統和編譯器。
『肆』 做編譯器或操作系統哪個更有趣味
其實兩者沒什麼區別。如果你對硬體結構、硬體語言更感興趣,可以選擇做編譯器。如果你對人機交互、面向對象編程感興趣,可以選擇做操作系統。
但如果深入研究,編譯器需要向人機交互發展,操作系統需要更了解底層硬體。
『伍』 僅僅從好玩程度考慮,做編譯器或操作系統哪個更有趣味
是先有編譯器,然後再有的操作系統。
事例:
1949年,某大學開發了一款(電子延遲存儲自動計算機)第一個存儲程序的計算機。是第一台採用馮·諾依曼體系結構的計算機。後來跟著它又出現了一款匯編器名字叫初始命令。
1956年,出現了一款匯編器名字叫聯合航空符號匯編程序和公式翻譯程序語言。
1973年,出現了一款操作系統名字叫控制\監控程序。(第一個基於英特爾處理器的操作系統,其實就是最早的操作系統,其他網路站點上有詳細介紹)
電子延遲存儲自動計算機 EDSAC
初始命令 initial orders
聯合航空符號匯編程序 uasap-1
公式翻譯程序語言 Fortran
控制\監控程序 CP/M
還有,「查雨桃」說的不太妥,其實兩者都是系統軟體,都有幾率用機器語言編寫;
不過事實是由打孔的紙袋(機器語言)然後發展為上述然後發展出了高級語言公式翻譯程序。
『陸』 編譯器和解釋器的主要區別是什麼他們相對於對方各自的優點
解釋器是解釋執行的源代碼,編譯器是將源代碼編譯成目標代碼
他們最大的區別是程序運行時需要解釋器邊解釋邊執行,而編譯器則在運行時是完全不需要的
解釋器的優點是比較容易讓用戶實現自己跨平台的代碼,比如java,php等,同一套代碼可以在幾乎所有的操作系統上執行,而無需根據操作系統做修改;
編譯器的目的就是生成目標代碼再由連接器生成可執行的機器碼,這樣的話需要根據不同的操作系統編制代碼,雖然有像Qt這樣的源代碼級跨平台的編程工具庫,但在不同的平台上仍然需要重新編譯連接成可執行文件,但其執行效率要遠遠高於解釋運行的程序。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)
『柒』 編譯器和解釋器的主要區別是什麼他們相對於對方各自的優點
解釋器
是
解釋執行
的源代碼,
編譯器
是將源代碼編譯成
目標代碼
他們最大的區別是程序運行時需要解釋器邊解釋邊執行,而編譯器則在運行時是完全不需要的
解釋器的優點是比較容易讓用戶實現自己跨平台的代碼,比如java,php等,同一套代碼可以在
幾乎所有的
操作系統上執行,而無需根據操作系統做修改;
編譯器的目的就是生成目標代碼再由連接器生成可執行的
機器碼
,這樣的話需要根據不同的操作系統編制代碼,雖然有像Qt這樣的源代碼級跨平台的編程工具庫,但在不同的平台上仍然需要重新編譯連接成可執行文件,但其執行效率要遠遠高於解釋運行的程序。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)
『捌』 程序語言,操作系統,編譯器三者之間有何關系
可以理解為程序語言需要在編譯器裡面進行編譯,但是編輯器需要運行在操作系統里
編程語言(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操作系統。
『玖』 編譯器和資料庫以及操作系統稱做系統軟體 三者有何共性。
編譯器是將用戶所設計的各種編程語言的編譯連接生成為機器可運行的可執行代碼的工具。編譯器是操作系統提供用戶介面的體現。
資料庫可以看作是數據的儲存方式,未來的操作系統就是一個資料庫。
操作系統是連接硬體和軟體的橋梁。
『拾』 操作系統內核和編譯器哪個難度更大
二者都屬於系統級的軟體,難度相當,但還要看操作系統是否開源,如果沒有開源,那難度就不是提升一點點了。