分類(lèi)
如果按照源代碼類(lèi)型區(qū)分軟件,通常被分為兩類(lèi):自由軟件和非自由軟件。自由軟件一般是不僅可以免費(fèi)得到,而且公開(kāi)源代碼;相對(duì)應(yīng)地,非自由軟件則是不公開(kāi)源代碼。所有一切通過(guò)非正常手段獲得非自由軟件源代碼的行為都將被視為非法。
作用
源代碼主要有如下兩種作用:
1.生成目標(biāo)代碼,即計(jì)算機(jī)可以識(shí)別的代碼。
2.對(duì)軟件進(jìn)行說(shuō)明,即對(duì)軟件的編寫(xiě)進(jìn)行說(shuō)明。為數(shù)不少的初學(xué)者,甚至少數(shù)有經(jīng)驗(yàn)的程序員都忽視軟件說(shuō)明的編寫(xiě),因?yàn)檫@部分不會(huì)在生成的程序中直接顯示,也不參與編譯。但是注釋代碼對(duì)軟件的學(xué)習(xí)、分享、維護(hù)和軟件復(fù)用都有巨大的好處。因此,書(shū)寫(xiě)軟件說(shuō)明在業(yè)界被認(rèn)為是能創(chuàng)造優(yōu)秀程序的良好習(xí)慣,一些公司也硬性規(guī)定必須書(shū)寫(xiě)。
需要指出的是,源代碼的修改不能改變已經(jīng)生成的目標(biāo)代碼。如果需要目標(biāo)代碼做出相應(yīng)的修改,必須重新編譯。
質(zhì)量標(biāo)準(zhǔn)
對(duì)于計(jì)算機(jī)而言,并不存在真正意義上的“好”的源代碼;然而作為一個(gè)人,好的書(shū)寫(xiě)習(xí)慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標(biāo)準(zhǔn)。軟件文檔則是表明可讀性的關(guān)鍵。
執(zhí)行效率
雖然我們可以通過(guò)不同的語(yǔ)言來(lái)實(shí)現(xiàn)計(jì)算機(jī)的同一功能,但在執(zhí)行效率上則存在不同。普遍規(guī)律是:越高級(jí)的語(yǔ)言,其執(zhí)行效率越低。這也是為什么匯編語(yǔ)言生成的文件比用VB語(yǔ)言生成文件普遍要小的原因。源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫(xiě)出來(lái)的代碼。主要對(duì)象是面向開(kāi)發(fā)者;
我們平常使用的應(yīng)用程序都是經(jīng)過(guò)源碼編譯打包以后發(fā)布的,呈現(xiàn)的最后結(jié)果是面向使用者和最終客戶。
概念研究
理論上的概念
源代碼是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。
源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫(xiě)出來(lái)的代碼。
目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別的二進(jìn)制代碼。
可執(zhí)行代碼就是將目標(biāo)代碼連接后形成的可執(zhí)行文件,當(dāng)然也是二進(jìn)制的。
最直觀的概念
在這個(gè)網(wǎng)頁(yè)上右鍵鼠標(biāo),選擇"查看源文件".出來(lái)一個(gè)記事本,里面的內(nèi)容就是此網(wǎng)頁(yè)的源代碼.
關(guān)于兩者的區(qū)別聯(lián)系:
1.從字面意義上來(lái)講,源文件是指一個(gè)文件,指源代碼的集合。源代碼則是一組具有特定意義的可以實(shí)現(xiàn)特定功能的字符(程序開(kāi)發(fā)代碼).
2."源代碼"在大多數(shù)時(shí)候等于"源文件".
比如在這個(gè)網(wǎng)頁(yè)上右鍵鼠標(biāo),選擇查看源文件。出來(lái)一個(gè)記事本,里面的內(nèi)容就是此網(wǎng)頁(yè)的源代碼."這句話就體現(xiàn)了他們的關(guān)系,此處的源文件是指網(wǎng)頁(yè)的源文件,而源代碼就是源文件的內(nèi)容,所以又可以稱做網(wǎng)頁(yè)的源代碼。.
源代碼是指原始代碼,可以是任何語(yǔ)言代碼。
匯編碼是指源代碼編譯后的代碼,通常為二進(jìn)制文件,比如DLL、EXE、.NET中間代碼、JAVA中間代碼等。
高級(jí)語(yǔ)言通常指C/C++、BASIC、C#、JAVA、PASCAL等等匯編語(yǔ)言就是ASM,只有這個(gè),比這個(gè)更低級(jí)的就是機(jī)器語(yǔ)言了。
源程序源文件源代碼是一回事。
內(nèi)容來(lái)自百科網(wǎng)