五一三天的假期,大部分时间都在看postmark.c 整整三天的时间,代码看了好几遍,遇到不懂的地方就查《C和指针》,其中有不了解的数据结构--链表,好好地看完书以后继续研究postmark,差不多可以说吃透了这个工具的数据结构、函数等等细节,今天晚上终于可以动手开始对它进行改写了,计划先做到只创建文件数,不删除,名叫postmark-create,第二个工作是只读写,不创建,不删除,名叫postmark-rw,第三个是让它具备多级目录的功能。这三个的实现细节我都想好了,一、二两个只要修改run函数,删掉其中不需要的部分即可;第三实现有两种方式,一种是直接定义宏,然后在create_subdir()函数里的最后mkdir后,再做两个嵌套循环,把三级目录建立好,这样在create_file_name()函数来调的时候,文件名数组里已经是包括三级目录绝对路径了,当然,还可以采用随机的RND,模拟更真实的随机情况,第二种是用argv参数把二级三级目录传进来。
但是还没有动手就决定放弃了,原因是看了一下以前一个高手改写过的说明,他改写后的具体代码偶没有看到,但是据他说,他作了大量的修改,包括多级目录支持,静态树等,增加了多线程功能,这其中,多线程是很有用的,特别是在生产环境,但是我对c的线程编程只是停留在听说过的境界,要改写,基本是不可能,双向链表这些数据结构不懂还可用一两个小时搞定,但是多线程已经没有希望,所以我决定了放弃,既然做出来的产品不能比以前的人更优秀,那就先暂时放弃吧,我会加快学习c高级知识和基本功的脚步,争取早日达到比以前的人更优秀的境界,到时候我会回来继续改写这个postmark.c ,相信那时候的心境,可以自豪。
虽然放弃不是个好东西,但是勉强用宏做出来的死程序肯定不如直接解析命令行的灵活,该放手的,这点也是理智决定的嘿嘿,不过说实在的这三天从源码中还是看到、学到了很多有用的东东,比如出错控制、双向链表、紧凑的函数结构、命令行解析、函数复用等等。
前天发现的coreutils比较适合我这样的轻量级选手进行分析,纯粹的分析,改写是不需要的,这些工具实在太经典了,而且很精简,用两个月的时间分析完,相信到时候c的语法基础可以打好了吧。
路很长,距离用c、改c的目标竟然还这么远,晕倒。
昨天和老婆、小妹、洪波一起看了《黄石的孩子》,挺不错的,好长时间没有看真正的电影了,在大礼堂里看电影的感觉和在电脑上差别好大。
今天去健身,没有想到身体这么差了,公司提供每周一次的健身,以后不可以浪费了啊。
阅读(1808) | 评论(0) | 转发(0) |