如何閱讀源碼包?(tar.gz打包格式)
02-10
編程新手,看到一個開源的程序(源碼,tar.gz格式),解壓後除了makefile文件還有大量文件夾。請問應該如何閱讀源碼?
準備工作:
1、選一個IDE,或者代碼閱讀器。個人推薦古老而優秀的source insight,或者eclipse + CDT2、熟悉正則表達式,學會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 這個幾個文件吧
推薦閱讀: