學(xué)習(xí)Unix源代碼的體會
我們學(xué)習(xí)了Unix系統(tǒng)的很多姿勢,今天,我們來學(xué)習(xí)一下關(guān)于Unix源代碼的知識。源程序是指未編譯的按照一定的程序設(shè)計語言規(guī)范書寫的文本文件。源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。
在現(xiàn)代程序語言中,源代碼可以是以書籍或者磁帶的形式出現(xiàn),但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執(zhí)行的二進(jìn)制指令,這種過程叫做編譯,通過編譯器完成。
Unix源代碼主要功用有如下2種作用:
生成目標(biāo)代碼,即計算機可以識別的代碼。
對軟件進(jìn)行說明,即對軟件的編寫進(jìn)行說明。為數(shù)不少的初學(xué)者,甚至少數(shù)有經(jīng)驗的程序員都忽視軟件說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟件的學(xué)習(xí)、分享、維護(hù)和軟件復(fù)用都有巨大的好處。因此,書寫軟件說明在業(yè)界被認(rèn)為是能創(chuàng)造優(yōu)秀程序的良好習(xí)慣,一些公司也硬性規(guī)定必須書寫。
需要指出的是,Unix源代碼的修改不能改變已經(jīng)生成的目標(biāo)代碼。如果需要目標(biāo)代碼做出相應(yīng)的修改,必須重新編譯。
1. 工欲善其事,必先利其器
我開始的時候是用find xargs 和 egrep 配合來搜索關(guān)鍵字, 看代碼的效率很低.后來裝了ctags,方便多了.最初沒有裝ctags, 是因為覺得可能裝起來費勁, 其實還是很容易裝的,也就是那么幾步, google一下就搞定了.
2. 要及時實踐.
雖然開始是讀代碼的方式比較笨,不過這種干勁非常有用,只有動手實踐了,才有可能取得進(jìn)步.否則的話,我可能還是停留在閱讀書本上代碼的階段.
3. Unix下的工具看起來不如Windows的工具異用.其實不然,可能是門檻搞一些.多數(shù)人象我一樣因此不敢去碰它.入門以后,會發(fā)現(xiàn)其實Unix下的工具真是短小精悍. 就拿VIM + Ctags 閱讀Unix源代碼來說,覺得性價比高.符合80/20原則.
這就是我最近對Unix源代碼的一些經(jīng)驗之談。
【編輯推薦】