作者PRAM (PRAM)
看板C_and_CPP
標題Re: [問題] 為什麼作業系統都用C寫? 而不用C++呢?
時間Sat Mar 7 19:57:54 2009
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: 看膩了不著邊際的爭論嗎?我們來寫點程式吧。
: 要求:請用 C 改寫下列的 C++ 程式,並分析改寫後的效能差異。
: (因為我沒寫過 OS,只是設想 OS 可能會需要的功能以及內部可能的
: 實作方法,謬誤之處請多指教)
:
: 是的,所以請用 C 寫一個更快的版本吧!不過請容我提醒,檔案系
: 統並不是只有 Local 和 Remote 兩種喔,像 Linux 就支援了十幾
: 種不同的檔案系統,請把這十幾種可能性都考慮進去。
: 你可以使用 query_file_system(path) 這個 API,也可以自己決定這
: 個 API 回傳的型別 (看要 enum 或 pointer 都隨你)。
: 3. (第三題本來要寫個和 template 相關的,不過愈寫愈長,最後
: 連我自己都懶得從頭到尾看一次...還是先討論上述兩題吧)
你知道 Linux 就是用 C 寫的嗎?相信你也知道 Linus 對 C++ 沒好感,
請你用 C++ 寫一個更快的 Linux Kernel 吧。
請容我提醒,Linux 支援了十幾種不同檔案系統,請把這些可能性都考慮進去。
如果你沒看過第 10268 篇的話可以去看一下。
如果你能夠用 C++ 寫一個更快的 Linux Kernel 的話,我可以自刪帳號(  ̄ c ̄)y▂ξ
※ 編輯: PRAM 來自: 61.216.179.77 (03/07 19:59)
1F:→ poga:把語言討論扯成宗教還有駕駛員能力的討論就沒意義了... 03/07 20:06
2F:→ ggg12345:Linuxc也需用組語,有些行為是高階語言不允許的才會是問題 03/07 20:09
3F:→ tinlans:問題是你要付多少錢請他寫一個 linux kernel。 03/07 20:11
4F:→ ggg12345:高階語言通常不允許更動到 stack 內容,還是試這個部份吧! 03/07 20:15
5F:推 final01:其實windows就是用c++寫的一個很好的例子 03/07 21:25
6F:→ final01:我也覺得os用c寫比較好只是歷史的錯覺吧? 03/07 21:26
7F:推 joefaq:[震驚] 我一直以為windows是用 visual basic寫的 03/07 21:30
8F:推 yu00928:樓上 這... 03/07 21:59
9F:→ ChampYen:To final: 原來2000年後的OS都是programmer不懂用c++(記) 03/07 22:25
10F:→ ChampYen:原來eCos,Minix這類的設計者不會寫C++... 03/07 22:26
11F:推 FlameMkIII:七樓的... XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 03/10 03:36