作者deepkh (科科将)
看板C_and_CPP
标题Re: [问题] 为什麽作业系统都用C写? 而不用C++呢?
时间Sat Mar 7 01:53:37 2009
※ 引述《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)
1F:→ yehsd:没有规定, 只要能 compile 成 machine code 都能写 03/07 02:14
2F:推 karcher:当你有一堆用C写的元件要整,你就知道C++好用了 03/07 05:44
3F:推 in09:楼上 : 我有, 可是鲁钝的我还是不知道 C++ 的好 ^_^ 03/07 09:37