Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279437
  • 博文数量: 43
  • 博客积分: 2515
  • 博客等级: 少校
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-10 16:15
文章存档

2009年(2)

2008年(12)

2007年(29)

我的朋友

分类: LINUX

2007-07-20 15:32:35

    近期一直在读Linux内核源代码,对程序语言这个东西,有了一些更深的感触和认识。

    大家都知道,Linux内核源代码是用C语言写的,C是一个面向过程的语言,但在整个Linux Kernel里面,你所能感触的,几乎全是面向对象的感觉。可以说近乎所有的代码,无论巨细,都是以一种面向对象的方式写出来的。但C语言毕竟不是一种面向对象的语言,所以硬是以一种面向对象的方式去写程序,带来的一个问题就是对象之间的关系特别杂乱。如果在读代码之前没有对相关部分的概念层次有所把握,深入到代码后就感觉难以理清各个对象之间的关系,即使少部分代码,也会让人感觉力不从心。实际上,Linux内核源代码的编写有一些固定的套路,当你熟悉了这套路之后,这种困扰就会慢慢的减少,阅读的速度和质量也会随之提升。

    我对C++语言不是很熟练,但读了一些Linux源代码后,对C++,或者说对面向对象编程的认识,就感觉彻底深入了一个层次。在读Linux源代码的时候,你会深深的感悟到面向对象这个东西是多么的有必要,名称空间等是多么的美好这真的是一种程序设计思想的东西。当然C++也有一些不足之处,用它来写一个桌面OS的内核还是不行的。

    如果让C语言支持一些简单的面向对象的特性就好了。

    下面推荐一点学习C/C++的东东:

        1. 关于C的面向对象编程的文章BLOG:http://blog.csdn.net/liyuming1978/

        2. 如果你有C基础,要学C++,那我强烈推荐 C++ Annotations,可以到下面的地址下载(注意下载最新版本)。ftp://ftp.rug.nl/contrib/frank/documents/annotations/
阅读(1922) | 评论(1) | 转发(0) |
0

上一篇:圆明园小拍

下一篇:linux内存管理(一)

给主人留下些什么吧!~~