c 开发linux 桌面程序吗,为什么LINUX下编程很少用C++,而是用C更多

为什么LINUX下编程很少用C++,而是用C更多,

这好像跟在WINDOWS下的编程相差很大,WINDOW下大部分都是用C++,C#,JAVA,等面向对像语言.

为什么LINUX下则更多用C呢?

用C实现面向对像编程方便吗?

|

比如内核开发:C比C++的执行效率会高一些(对于同一种水平写有关操作系统的内核方面的功能的时候),而且C++程序编译后会比C要大一些(基于同等条件下),还有一点就是C比C++出现得更早一些,这就是习惯,早期的内核是用C写的,总不能让写它们的人全部用C++来实现一遍吧???人家也没这个精力,还要去测试稳定性,还要去学习C++(也许有些高手只会C而不会C++的,好像只有我们这种入门级程序员才会用多种语言,大师级的人可能很多只用一两种语言)

比如应用程序开发:GTK之类的,为何这个库会用C语言开发,我想主要是习惯,可能最先开发它的人最熟悉C语言,而后来就没必要用C++重写了,再者,C与LINUX内核结合更紧密一些,它本身是用C实现的,虽然库函数同样支持C++调用,在进行运态库支持时,C++动态支持库明显比C动态支持库要大得多,在PC机上没什么感觉,但在资源极其有限的嵌入式设备上这是一个大问题。

当你在GTK上做开发,就只能用C了,因为它仅提供了C接口,就像是C库中如果不提供C++接口的话,你写代码时就得每次加上extern C之类的,总有点麻烦吧??再者,GTK整个实现思路都是基于C的。

还有一点:C++比C要复杂得多,如果你很熟悉了C,如果用C又能解决你的问题,而且也很方便解决问题,何必要跟自己过意不去呢?再投入很多精力去学C++?当然,对于高手来说,C和C++没什么区别,学C和学C++并没有什么难易,复杂简单之分,C同样地复杂,但毕竟像我们这种不起眼的平庸之辈还是最多的啊,所以还是要考虑语言上的差异,至少对我来说要考虑,如果你是高手的话,当然就不需要考虑任何东西了!!!!

在应用级程序开发时,如果你不是用的人家的基于C的开源项目,并且没有太多的硬件资源方面的限制,那么用C++比用C更方便,毕竟C++更容易OO(C也可以OO)

|

和blankman(菜鸟)说的差不多,众所周知,c的长处就是在效率上,不方便的就是资源管理(如动态内存分配),而c++在此上提供了OO和泛型,但也增加了语言的复杂性,在提倡简单就是美的unix/linux环境下,如果不注意使用OO容易导致简单问题复杂化。书中作者指出C++在GUI、多媒体工具包、游戏方面发挥得很好,并提倡针对你程序的应用使用已有的类库,如用来编写图形界面的Qt就是一个例子。我体会的就是在unix/linux下尽量用最简洁、有效的方式进行程序设计。此外,c和这两个平台的关系是再密切不过了,系统用c设计和实现也是一个传统的原因吧!书还在研读中、思想还在体会中...

|

不是用C更多,感觉是因为C更符合linux的习惯。

因为它封装的更少,用c可以更好的接触到OS的内部,更好的控制机器

|

做图形界面程序,个人认为qt还是比gtk更适合

|

不同意gnome是linux标准一说,俺使用的系统就是kde的桌面,编程的界面也选用qt来干。没有什么不好阿!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值