简单记录一下自己最近一段时间阅读一个C语言开源项目的心得
1、阅读工具
source insight 4.0 + gdb + Typora
2、阅读心得
1)不要陷在代码的实现细节里面出不来,浪费时间。因为稍微大一点的开源项目,都有很多自定义的结构体,这些结构体封装了大量的实现细节,特别是C语言的指针满天飞,看一会头就昏了。所以在看的时候,要先抓住整个实现的骨架,而不是枝干。什么是骨干?**就是这个程序本质上是什么。(可以尝试用一句话来概述)**比如有一处解析mp4文件的实现,通过gdb跟踪,就会发现,**这段程序本质上就是树的遍历,并做了优化。**这样就对实现有了整体把握,不至于盲人摸象。
2)多动笔,多画图
刚才还看的一个结构体的声明,结果过了一会就忘了,这个时候不妨可以自己在纸上多画画,用图展示出来更形象帮助理解,如上面提到的基于树的遍历的mp4 box解析。
3)基本功
之前对基本功的理解多来自于网上前辈们的分享,就是要知道OS知识,数据结构体、计算机网络等。在阅读了这个程序后,发现基本功从编程角度讲还应该包括:对字符串遍历,递归程序这些在学习编程的时候必练的练习十分熟悉。这些被挑选出来作为我们编程入门的基础练习必然是有原因的——再复杂的程序都是由简单程序经过一定组织堆砌出来的。