為什麼linu的核心用c不用,為什麼linux的核心用c不用c

2022-03-02 10:19:18 字數 1056 閱讀 6072

1樓:詘炊駝

linux現成的環境有gcc有g++各種編譯工具天然的開發環境不需要想windows一樣高一大堆

2樓:天天穎穎

從對編譯的機器**的把握度,c比c++好多了。系統程式設計師幾乎看著c就沒知道編譯器裡出來的彙編**的樣子。而c++編譯器出來的就複雜多了,一個物件this指標,再加上各種虛表,當然還有各種拷貝構造等等。

要完全把控確實不容易。(雖然我沒有寫過作業系統核心,但我總覺得作業系統核心就應該把控到彙編,用c只是為了提高開發效率。)

從c++的高階語言特性來說,模板,多型等特性,到底在系統開發中用還是不用呢?這是一個很現實的問題。除非能夠很好的把控這些高階特性,否則輕導致編譯出來的**膨脹,重則導致奇怪的問題。

而且核心除錯和應用程式除錯完全不是一回事啊…所以bochs雖然都轉成c++了,但開發說明裡明確要求不允許使用模板。

最後還有一點不能忽略,linux核心是跨平臺的,所有的平臺都有對應的c語言編譯器,而且應該都優化的不錯。而不是所有的平臺都有c++編譯器,即使有也不一定優化的效率很高。

為什麼作業系統不用c++寫而是c 10

3樓:匿名使用者

c比c++更加貼近於硬體,因為作業系統需要直接對硬體進行操作和配置,所以用c能獲得更好的效率,c++是面對物件的語言,更加貼近於現實世界的抽象,因此在應用軟體的開發中,比c要有優勢

4樓:匿名使用者

頂樓上的,c++固然很好用,但是c對計算機來說,其實才是更方便,更容易懂得,用c能使計算機能一步一步的執行,並且對我們來說也更容易檢查錯誤,除錯和更新。程式主要還是要讓計算機更方便理解才行,所以很多大型的程式都是用的c進行底層開發的

5樓:匿名使用者

一些教程上都說,c更加趨向於底層開發。

6樓:蒹葭蒼蒼黃

c的效率更高,只比彙編低10-20%,並且更貼近底層硬體

7樓:匿名使用者

c語言程序導向,更趨向底層開發!

同樣可以寫!

為什麼用勵志不用立志為什麼用勵志不用立志

其實看你的語境,給你兩個詞的意思,對比一下你就知道了 立志 l zh 是指設立自己未來方向的志願。即確定一個長遠的目標,比制定達成目標的步驟,在這基礎上努力進取,且不斷調整理論與實踐的差距的過程。勵志就是使人適應環境,激發生活或工作熱情,促進工作事業奮發向上的心靈調節過程。希望對你有幫助 1,多為成...

為什麼用could而不用might

might用於肯定句表示較小的可能性,在這句話中could是can的過去式 因為wish要用虛擬 表示能夠 可以。樓主看這裡 語法上二者都對,不過從語義上分析 can,could 意思是可以 能夠 may,might 意思是可能 會 這句話的意思是 我希望我可以 能夠多睡一會 can,could,m...

為什麼新疆的地名用維語,為什麼在新疆也不用維語

因為這裡以前是維族的居住地 漢人統治後就音譯的地名繼續使用了 在內蒙古和 也是這樣 應為是新疆維吾爾自治區,維吾爾族居多 新疆地名多是少數民族語言,很少用漢語的。比如哈密就是維吾爾語 大門 的意思 哈薩克語地名如阿克蘇,意為 白水 烏恰縣就是柯爾克孜語,意為 大山溝分岔口 新疆地名又是歷史滄桑的反映...