作者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