Re: [問題] 為什麼作業系統都用C寫? 而不用C++呢?

看板C_and_CPP作者 (松鼠)時間12年前 (2012/02/08 13:15), 編輯推噓24(2407)
留言31則, 30人參與, 5年前最新討論串31/37 (看更多)
※ 引述《MasterChang (我愛ASM)》之銘言: : 其實原po的標題就有問題。 : 「為什麼作業系統都用C寫? 而不用C++呢?」這問題就好像問一 : 個賣雞排的人 「妳為何創業要賣雞排?而不是賣大腸包小腸?」 : 其實看windows和linux這些主流的OS,當初這些OS問世時,C++還 : 不知道在哪(1991左右)。 再來開發人員決定用C時,那OS就是用C : 開發。沒有什麼為甚麼。 個人覺得 C++ 的「包袱」大了一些,不是說 runtime 成本,而是說集低階描述、 OOPL、metaprogramming,甚至現在還有 functional programming 的元素於一身, 光提 "C++" 很難讓人清楚掌握語言的特色,更別談 "writing OS Kernel in C++" 的訴求是強調哪項特質。 只要能夠作 language runtime bootstrap 的支持,基本上 Smalltalk 與 Java 這樣的動態語言也是能作為撰寫 OS Kernel 的主要程式語言,IBM 的 Jalapeno [1] 與 Smalltalk 的實做 Squeak [2] 都證明這點。 : 除了需要組語部份之外,其外需要用C可不可以用C++作? (C++可 : 以用VB、C# 等取代) 我想是可以的。問題是「誰要作?」、「做 : 了誰要用?」,另外要考慮toolchain的支援問題。 : http://www.unixlite.org <--- C++寫的OS 可惜這網站不見了,UNIXLite 拿來當作業系統教材挺好的。 : http://www.pudn.com/downloads25/sourcecode/windows/console/detail82288.html : 另外L4也是C++寫的OS。 : 總結:是有C++寫的OS,只是原po不知道。 一般我們指 L4 microkernel 時,會先提到設計與 L4 kernel interface (ABI),再來 才是若干的實做。L4Ka::Pistachio [3] 以及其衍生的實做的確以 C++ 搭配少量的 Assembly 撰寫,不過也有其他 L4 實做採用 C 語言 (與 Assembly) 撰寫,如 Codezero [4] [1] http://en.wikipedia.org/wiki/Jikes_RVM [2] http://en.wikipedia.org/wiki/Squeak http://sourceforge.net/projects/squeaknos/ [3] http://www.l4ka.org/ [4] http://l4dev.org/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.131.211

02/08 15:01, , 1F
有神快拜
02/08 15:01, 1F

02/08 18:05, , 2F
有神快拜
02/08 18:05, 2F

02/08 19:12, , 3F
有神快拜
02/08 19:12, 3F

02/08 19:22, , 4F
有神快拜
02/08 19:22, 4F

02/08 20:09, , 5F
有神快拜
02/08 20:09, 5F

02/08 21:04, , 6F
有神快拜
02/08 21:04, 6F

02/08 21:25, , 7F
有神快拜
02/08 21:25, 7F

02/08 22:06, , 8F
有神快拜
02/08 22:06, 8F

02/08 22:08, , 9F
有神快拜
02/08 22:08, 9F

02/08 22:13, , 10F
神快拜
02/08 22:13, 10F

02/08 22:21, , 11F
:有神快拜
02/08 22:21, 11F

02/08 23:14, , 12F
有神快拜
02/08 23:14, 12F

02/08 23:19, , 13F
http://goo.gl/ZhCdJ 可以看看這篇, c++ 要準備的東西太多
02/08 23:19, 13F

02/08 23:26, , 14F
有神快拜
02/08 23:26, 14F

02/08 23:46, , 15F
!!! jserv
02/08 23:46, 15F

02/09 00:09, , 16F
有神快拜
02/09 00:09, 16F

02/09 00:36, , 17F
有神快拜
02/09 00:36, 17F

02/09 00:42, , 18F
嗚....被鞭屍了....XD
02/09 00:42, 18F

02/09 01:39, , 19F
只是剛好找資料時,讀到這篇post,幫Master兄補充一下而已
02/09 01:39, 19F

02/09 15:37, , 20F
有神快拜
02/09 15:37, 20F

02/10 07:43, , 21F
有神快拜
02/10 07:43, 21F

02/10 17:22, , 22F
真的是本人嗎?有神快拜
02/10 17:22, 22F

02/10 17:33, , 23F
快快快 有神快拜 拿香跟拜阿 後面的!!
02/10 17:33, 23F

02/11 22:24, , 24F
有神快拜
02/11 22:24, 24F

02/11 22:29, , 25F
有神快拜
02/11 22:29, 25F

02/11 23:00, , 26F
有神快拜
02/11 23:00, 26F

02/18 22:12, , 27F
有神快拜<(_ _)>
02/18 22:12, 27F

02/24 20:23, , 28F
有神快拜
02/24 20:23, 28F

03/21 15:01, , 29F
有神快拜 <(_ _)>
03/21 15:01, 29F

06/14 11:40, , 30F
有神快拜
06/14 11:40, 30F

04/04 10:23, 5年前 , 31F
有神快拜
04/04 10:23, 31F
文章代碼(AID): #1FCWK3k9 (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 31 之 37 篇):
文章代碼(AID): #1FCWK3k9 (C_and_CPP)