关于读程序,我的大概方法是:
(1)首先了解这个程序是作什么的,如何使用,这时还不用看源码,最好让程序运行起来试试
(2)了解程序功能与代码结构的大致对应关系,看看源码分几个目录,每个目录实现什么功能,目录下有哪些文件,每个文件大概实现什么功能,这时仍不用看源码(只需要根据文件名和里面的函数名望文生义一把),可以看看configure.in(或configure.ac), makefile.am, 如果不是automake的工程,就看makefile
(3)从main()开始粗略分析程序运行的过程,这时需要深入一些子程序,最好将程序的调用关系与大体功能记在纸上,否则明天又要重新看了,这时不需要对代码细节追究太多,主要是了解程序执行经历了怎样的一个过程。
(4)当对程序架构有了比较清晰的了解,有选择性的对你关心的代码进行详细分析,可以细到一字一句,相信整个代码中其实没有多少内容是需要详细分析的。
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)