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

看板C_and_CPP作者 (科科將)時間15年前 (2009/03/07 01:53), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串8/37 (看更多)
※ 引述《x3795566 (冀憶)》之銘言: : 如題 : 實在搞不懂為什麼 : 因為C++不是改良C的語言嗎? : 那為啥不用C++寫作業程式 而用C呢? : 難道C++有何缺點以至於不適合寫作業程式嗎? : 還是只是大部分設計人員的習慣呢? 我猜因為在 C++ 穩定時 C 就已經出來很久了? 或者 C 在效率和寫作複雜度來寫一個 OS 是可以接受的? 就 C / C++ 我感覺的不同 就僅在於 C++ 有繼承, operator, template 這些東西會讓寫作時很方便 很直覺, 不像 C 常常就是一堆程式碼攤在那邊, 頂多在 struct 裡加個 function pointer 指到別的函式去, 或者當個 Call Back 的 Functin Pointer . 厲害一點寫 C code 的往往有一點 OO 的味道 就呈現機器碼的樣子, 往往跟程式碼的多寡成正比, 因為 C++ 很多方便的東西 可以讓程式碼重覆利用, 所以寫作時程式碼往往會比編成二進位來的少, 不然 就跟 C 一樣的攤在那裡啦. 但就效率的部份個人是覺得若瞭解 Compiler 編譯特性的人或許會避 開產稱冗贅的機器碼而改用較簡短的方式來撰寫? 那這部份就無關 C 跟 C++ 了, 因為都可以去必開產生冗贅機器碼的寫作技巧? 那到底有沒有規定 OS 一定要用 C 來寫呢? 這我就不曉得了, 其實我也很好奇 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.80.134.90 ※ 編輯: deepkh 來自: 219.80.134.90 (03/07 01:55)

03/07 02:14, , 1F
沒有規定, 只要能 compile 成 machine code 都能寫
03/07 02:14, 1F

03/07 05:44, , 2F
當你有一堆用C寫的元件要整,你就知道C++好用了
03/07 05:44, 2F

03/07 09:37, , 3F
樓上 : 我有, 可是魯鈍的我還是不知道 C++ 的好 ^_^
03/07 09:37, 3F
文章代碼(AID): #19iMCYXg (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 37 篇):
文章代碼(AID): #19iMCYXg (C_and_CPP)