如何閱讀源碼包?(tar.gz打包格式)

編程新手,看到一個開源的程序(源碼,tar.gz格式),解壓後除了makefile文件還有大量文件夾。請問應該如何閱讀源碼?


準備工作:

1、選一個IDE,或者代碼閱讀器。個人推薦古老而優秀的source insight,或者eclipse + CDT

2、熟悉正則表達式,學會grep的基本用法,方便快速查找代碼。

開始閱讀:

1、查看解壓出的文件第一層,是否有INSTALL、README、DESIGN,逐一閱讀。

2、閱讀代碼的目錄結構,搞清楚各個抽象層級:CLI、API、DAEMON、WRAPPER等等。

3、使用這個軟體,力爭精通CLI、API,熟悉裡面的每一個參數

實際閱讀代碼:

4、從入口函數(如main)開始從上而下的閱讀代碼,搞清楚大體的邏輯

5、看各個底層函數的實現,看看是怎麼對glibc、glib這些公共庫(第三方庫)進行調用的,把這些邏輯搞清楚,然後再自下而上的看回去。

6、打海量的日誌、backtrace。(這可以在4前做,實際上這條是最有用的)

實際上你還可以做的:讀Makefile、讀configure、用gdb等等……

認真讀個把月,基本上就能對工程和gnu c很熟悉了。但不同的開源工程難度不同,比如openvswitch,可能就要花幾個月的功夫來讀懂。


這本書也許會幫助你:代碼閱讀方法與實踐 (豆瓣)


先看看 README 和 install 這個幾個文件吧


推薦閱讀:

TAG:編程 | Linux | C編程語言 | 編譯 | tar |