2011-03-05 33 views
1

我需要为学校项目编写一个Linux shell。我们可以使用C或C++。我对C++感觉更舒适一些,因为我正在和一个合作伙伴合作,所以它的面向对象方面很有帮助。但是,我怀疑由于某种原因,C更好,并且大多数(如果不是全部)Linux shell都是用C编写的而不是C++编写的。使用其中一种或另一种的优点和缺点是什么?使用C或C++编写Linux shell

+4

对于这样的项目,我倾向于说你选择哪个更适合 – Orbit 2011-03-05 01:38:12

+1

这是一个非常主观的问题,因为你应该使用无论你和你的伴侣最舒服。为什么几乎所有(如果不是全部的话)Unix/Linux shell都是用C编写的,原因之一是POSIX兼容系统保证系统上存在libc(标准C库)(并且因为许多shell基于写入的旧shell在原始的Unix时代),而不能保证运行编译的C++代码所需的标准C++库。 – birryree 2011-03-05 01:39:59

+0

大多数Linux shell用C编写的原因是因为它们是在C++很流行或甚至存在之前的几年前编写的。 – 2011-03-05 09:12:57

回答

2

如果你最终使用STL和东西,唯一的区别是我要说的是对libstd-C++的依赖。如果正确地完成了Plain C的实现,将在最低系统要求下运行(仅针对libc)