源代碼就是源程序源代碼,是指未編譯的文本代碼。是一系列人類可讀的計算機語言指令。在現(xiàn)代程序語言中,源代碼可以是以書籍或者磁帶的形式出現(xiàn),但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執(zhí)行的二進制指令,這種過程叫做編譯,通過編譯器完成。
作用源代碼主要功用有如下2種作用:生成目標代碼,即計算機可以識別的代碼。對軟件進行說明,即對軟件的編寫進行說明。為數(shù)不少的初學者,甚至少數(shù)有經(jīng)驗的程序員都忽視軟件說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟件的學習、分享、維護和軟件復用都有巨大的好處。因此,書寫軟件說明在業(yè)界被認為是能創(chuàng)造優(yōu)秀程序的良好習慣,一些公司也硬性規(guī)定必須書寫。
需要指出的是,源代碼的修改不能改變已經(jīng)生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。代碼組合源代碼作為軟件的特殊部分,可能被包含在一個或多個文件中。一個程序不必用同一種格式的源代碼書寫。
例如,一個程序如果有C語言庫的支持,那么就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。較為復雜的軟件,一般需要數(shù)十種甚至上百種的源代碼的參與。為了降低種復雜度,必須引入一種可以描述各個源代碼之間聯(lián)系,并且如何正確編譯的系統(tǒng)。在這樣的背景下,修訂控制系統(tǒng)(RCS)誕生了,并成為研發(fā)者對代碼修訂的必備工具之一。還有另外一種組合:源代碼的編寫和編譯分別在不同的平臺上實現(xiàn),專業(yè)術(shù)語叫做軟件移植。
版權(quán)如果按照源代碼類型區(qū)分軟件,通常被分為兩類:自由軟件和非自由軟件。自由軟件一般是不僅可以免費得到,而且公開源代碼;相對應地,非自由軟件則是不公開源代碼。所有一切通過非正常手段獲得非自由軟件源代碼的行為都將被視為非法。質(zhì)量對于計算機而言,并不存在真正意義上的“好”的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標準。軟件文檔則是表明可讀性的關(guān)鍵。效率雖然我們可以通過不同的語言來實現(xiàn)計算機的同一功能,但在執(zhí)行效率上則存在不同。
普遍規(guī)律是:越高級的語言,其執(zhí)行效率越低。這也是為什么匯編語言生成的文件比用VB語言生成文件普遍要小的原因。
目標代碼生成是編譯的最后一個階段。目標代碼生成器把語法分析后或優(yōu)化后的中間代碼變換成目標代碼。
目標代碼(objectcode)指計算機科學中編譯器或匯編器處理源代碼后所生成的代碼,它一般由機器代碼或接近于機器語言的代碼組成。