为什么市面上的linux编程的书籍,编程语言都是c呢?

kernelzhen 2012-08-23 04:00:57
为什么市面上的linux编程的书籍,编程语言都是c呢?怎么没c++?
...全文
194 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
whucv 2012-08-23
  • 打赏
  • 举报
回复
linux内核是用C语言写的,所有的底层函数库都为c函数库
Linux自带C编译器gcc等
Linux是最大的c开源软件
ljhhh0123 2012-08-23
  • 打赏
  • 举报
回复
C能把问题讲清楚,而C++本质上是对C的一种包装.
suwenqiang2011 2012-08-23
  • 打赏
  • 举报
回复
赵老师这个比喻贴切,经常说这句
[Quote=引用 6 楼 的回复:]

做个可能不太恰当的比喻:
人想让狗帮忙逮只兔子,可是人说话狗听不懂,于是人发明了一种介乎人言和狗语之间的语言,即口令。
人想让电脑帮忙做计算,可是人话电脑听不懂,于是人发明了一种介乎人言和汇编机器码之间的语言,即C语言。
人对狗的口令得让人容易学、也得让狗容易懂。
C语言同样得让人容易学、也得让电脑容易懂。
相比之下C++、Java就是人学得费劲、电脑也经常闹不懂。
[/Quote]
赵4老师 2012-08-23
  • 打赏
  • 举报
回复
做个可能不太恰当的比喻:
人想让狗帮忙逮只兔子,可是人说话狗听不懂,于是人发明了一种介乎人言和狗语之间的语言,即口令。
人想让电脑帮忙做计算,可是人话电脑听不懂,于是人发明了一种介乎人言和汇编机器码之间的语言,即C语言。
人对狗的口令得让人容易学、也得让狗容易懂。
C语言同样得让人容易学、也得让电脑容易懂。
相比之下C++、Java就是人学得费劲、电脑也经常闹不懂。
寻找自我 2012-08-23
  • 打赏
  • 举报
回复
qt是C++
图灵狗 2012-08-23
  • 打赏
  • 举报
回复
原因在这里http://blog.csdn.net/turingbook/article/details/1775488可以看到。
灼眼的超哥 2012-08-23
  • 打赏
  • 举报
回复
linux系统主要是用C语言写的,API自然是C的,除了C++外,没多少语言能够调用linux系统的API。

冻结 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

内核是C写的,API就都是C的。
用C++一样可以调啊。
[/Quote]

主要API是C接口,所以,你懂得。。。
jiandingzhe 2012-08-23
  • 打赏
  • 举报
回复
内核是C写的,API就都是C的。
用C++一样可以调啊。
12本精彩的Linux书籍 1. Sed and Awk,作者Dale Dougherty and Arnold Robbins。这本书改变了我在Linux命令行下的工作方式。这本书可能是你学习Sed和Awk时唯一需要的参考资料。一旦你掌握了Sed和Awk的基础,你就会着迷于能够快速并且高效的完成一系列复杂工作。我平常用于sed 和awk的参考的是由相同作者所著的《Sed and Awk Pocket Reference》。 2. HULearning The Vi and Vim EditorUH,作者Arnold Robbins。 我对于命令行下的操作情有独钟。因此,自然地我非常喜欢Vi 和 Vim 进行文本编辑。回首数年之前,当我需要在Linux下写大量的C程序的代码时,我总会参考Vi文本编辑器的快速参考手册。即使你已经用了很长时间的Vi和vim编辑器,如果你没有读过这本书的话,那么请你读一下这本书。你会惊讶于Vim编辑器的强大功能。 3. HUBash CookbookU ,作者Carl Albing, JP Vossen and Cameron Newham。无论你是系统管理员还是数据库管理员,或者是个开发人员,你都会或多或少的写些shell脚本。聪明的系统管理员都知道掌握了shell脚本编程之后,可以让shell脚本作一些微小繁杂的工作,从而使你的服务器处于自动运行状态。要达到这种境界,你就需要掌握本书中所举出的例子。市面上这方面的书籍相当的多,但这本书以丰富细致的实例而完全超越它们。 4. HUSSH,The Secure Shell U,作者Daniel J. Barrett, Richard E. Silverman and Robert G。Byrnes。这无疑是关于SSH方面最好的书了。这本书介绍了SSH的理论和实践的各个方面。作为最终用户使用SSH是相当方便的。但是作为一个管理员配置SSH相对来讲比较复杂,同时要对SSH有更深的理解。对于每个系统管理员,这本书都是必读书籍。这本书中的例子直接给出了该如何根据需求(SHH1,SHH2和OpenSSH)来量身定制SSH的不同口味。 5. HUEssential System AdministratorUH,作者Æleen Frisch。对于想成为UNIX系统管理员的人来说 这是一本相当棒的书。这本书囊括了所有的系统管理工作。很好得整合了AIX,FreeBSD, HP-UX,Linux,Solaris 和Tru64等多种UNIX版本。所有当你在处理不同版本的UNIX时,它是个不错的参考。以前当我同时管理多种UNIX系统时候就用了这本书的便携版----Essential System Administration Pocket Reference。 6. HULinux Server HacksUH,卷一,作者Rob Flickenger。这本书中收藏了100相当不错的技巧。搭建一个Linux实验平台并且一一测试这些技巧。这些技巧被分成了不同的章节—服务器基础、版本控制、备份、网络、监控、SSH、脚本和数据服务器。当你完全读懂Linux Server Hacks,就可以掌握了这些技巧;卷二,作者Willian von Hagen 和 Brian Jones。这本书也包含了100个技巧,集中在认证,监控,安全,性能和连通性。 7. HUDNS and BINDUHU,作者Cricket Liu 和 Paul Albitz。几年前我通过阅读在线文档第一次配置了DNS. 本着了解DNS 和 BIND 是如何工作的目的,我买了这本书。之后它的版本又更新了两次,每次我都购买了新版本。如果你是个认真的系统管理员,这本书应该在你的书库里。 8. HUUnderstanding the Linux KernelUH,作者Daniel Bovet 和 Marco Cesati。如果你是一个Linux环境下的开发人员或者系统管理员,那么这本书是必读的。这本书以一种结构化且符合逻辑的方式阐述了Linux 2.6内核的工作原理。这本书介绍了内核的内存管理,进程调度, I/O架构以及块设备管理等内容。这本书是为那些想深入了解Linux的Geek们而量身打造的。 9. HULinux CookbookUH,作者Carla Schroder。这本书分别以用户和管理员的角度阐释Linux的各种特性。其中两个章节介绍了如何在基于RPM的系统以及Debian下安装和管理软件。如果你使用的是RedHat,由Daniel J. Barrett所写,包括了Linux命令的所有示例用法的《the Linux Pocker Guide》对你来说将会是个不错的选择。 10.HULinux FirewallsUH,作者Michael Rash。如果想要建立一个安全的Linux系统,那么这本书是必读的。关于防火墙有很多相关书籍。但是这本书详述了如何用防火墙,psad, fwsnort配置一个入侵检测系统。如果你想要一本有关防火墙的详细参考,那么由Gregory N. Purdy 所著的《Linux Iptables Pocket Reference》将是你的最佳选择。 11.HULinux Administration HandbookUH,作者Evi Nemeth, Garth Snydet 和 Trent R. Hein。早年,在我做系统程序员的时候,我经常参考这本书。这是一本相当非常详细的书,分成了三章Basic Administration, Networking 和 Bunch O’Stuff, 共有将近1000页,30节。 12.HUBeginning Ubuntu LinuxUH,作者Keir Thomas 和 Jaime Sicam。对于那些想从Windows转向Linux并在自己的老机器上安装Ubuntu的人,这本书就是你所需要的。我坚信这本书可以将Linux的信息介绍给那些不用Linux的人。如果你想要你的密友或朋友学习Linux系统的话,那么装上Ubuntu并用把这本书作为礼物送给他,那么他一定会非常感激你的。
目前,Linux软件工程师大致可分为两个层次: (1)Linux 应用软件工程师(Application Software Engineer):主要利用 C 库函数和 Linux API进行应用软件的编写; (2)Linux 固件工程师(Firmware Engineer):主要进行 Bootloader、Linux 的移植及 Linux 设备驱动程序的设计。 一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的 Linux 设备驱动 编程又是 Linux 程序设计中比较复杂的部分,究其原因,主要包括如下几个方面: (1)设备驱动属于 Linux 内核的部分,编写 Linux 设备驱动需要有一定的 Linux操作 系统内核基础; (2)编写 Linux 设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对 一个特定的嵌入式硬件平台编写驱动的; (3)Linux 设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现 bug; (4)由于属于内核的一部分,Linux 设备驱动的调试也相当复杂。 目前,市面上Linux 设备驱动程序参考书籍非常稀缺,少有的经典是由 Linux 社区的 三位领导者 Jonathan Corbet、Alessandro Rubini、Greg Kroah-Hartman编写的《Linux Device Drivers》(目前该书已经出版到第 3 版,中文译本由中国电力出版社出版)。该书将 Linux 设备驱动编写技术进行了较系统的展现,但是该书所列举实例的背景过于复杂,使得读者需 要将过多的精力投放于对例子背景的理解上,很难完全集中精力于 Linux 驱动程序本身。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧