coreutils4.5.1 感想

读coreutils-4.5.1有感想
因为我是用vim读源码,所以总感觉格式怪怪的。缩进不正确。当时只是想读代码,不想在非本质工作上花精力。后来,实在忍不住了,心想,这些牛人的代码,不可能不讲究缩进的,肯定是我的vim配置文件不对,上网找一个吧,可居然没有。
看tsort.c时,忍不下去了,自己打开vim配置文件,缩进不对的地方好象在tab,目前我设置为2,后来改为4,还是有些不对,但比原来好些了,再改为8,哈哈,居然漂亮了。
读代码,用双显示器,太爽了,一个打开vim进行代码阅读,修改;另一屏就打开命令行,不停的进行测试。爽。
今天把以前读过的代码,又开始重读。感觉也有收获。但写出来,可能让大家笑话了。
还是说说tsort.c排序程序吧,上面有一段
/* The topological sort is done according to Algorithm T (Topological
   sort) in Donald E. Knuth, The Art of Computer Programming, Volume
   1/Fundamental Algorithms, page 262.  */
因为我看了半天,摸不着头绪,原来是大神的杰作,而我懂的排序程序只限于数据结构上讲的几种,拓朴排序,没听说。
其中定义的数据结构更怪:


/* Members of the list of successors.  */
struct successor
{
  struct item *suc;
  struct successor *next;
};

/* Each string is held in core as the head of a list of successors.  */
struct item
{
  const char *str;
  struct item *left, *right;
  int balance;
  int count;
  struct item *qlink;
  struct successor *top;
};
这个数据结构没看懂。越看代码,心里越来越慌了。
凡是文件相关的源程序,因为我对文件类系统调用不熟悉,所以略过。现在看来,还要读高纳德的书翻一下。高纳德的程序是用mix汇编写的,我只能看懂C ,对汇编语言真看不懂。
如果有人能讲高纳德的书用C  语言描述算法就好了。

网上看来也没有人看coreutils源码了。网上找不到资料,而能看懂的估计又觉得这代码太小儿科了,看来只能自己慢慢啃了。

因为我是在linux下编辑的,要拷内容,就打开了gvim,linux下的五笔也很好用。哈哈。

猜你喜欢

转载自blog.csdn.net/woshiyilitongdouzi/article/details/85779322