代碼 代碼就是程序員用開發(fā)工具所支持的語(yǔ)言寫出來(lái)的源文件 源代碼是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫出來(lái)的地代碼。目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別二進(jìn)制代碼??蓤?zhí)行代碼就是將目標(biāo)代碼連接后形成的可執(zhí)行文件,當(dāng)然也是二進(jìn)制的。 A.一組有序的數(shù)字或字母的排列,是代表客觀實(shí)體及其屬性的符號(hào)。 B.記錄計(jì)算機(jī)程序的符號(hào)。 代碼設(shè)計(jì)的原則包括惟一確定性、標(biāo)準(zhǔn)化和通用性、可擴(kuò)充性與穩(wěn)定性、便于識(shí)別與記憶、力求短小與格式統(tǒng)一以及容易修改等。 源代碼是代碼的一個(gè)分支,但在某種意義上來(lái)說(shuō),源代碼是相當(dāng)于代碼的。 編輯本段1.理論上的概念 源代碼是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫出來(lái)的地代碼。 目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別二進(jìn)制代碼。 可執(zhí)行代碼就是將目標(biāo)代碼連接后形成的可執(zhí)行文件,當(dāng)然也是二進(jìn)制的。 編輯本段2.最直觀的概念 在這個(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)特定功能的字符(程序開發(fā)代碼). 2."源代碼"在大多數(shù)時(shí)候等于"源文件". 上面說(shuō)過(guò) 在這個(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è)的源代碼...從字面意義上來(lái)講,源文件是指一個(gè)文件,指源代碼的集合.源代碼則是一組具有特定意義的可以實(shí)現(xiàn)特定功能的字符(程序開發(fā)代碼). 源代碼(也稱源程序),是指一系列人類可讀的計(jì)算機(jī)語(yǔ)言指令。 在現(xiàn)代程序語(yǔ)言中,源代碼可以是以書籍或者磁帶的形式出現(xiàn),但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計(jì)算機(jī)程序。計(jì)算機(jī)源代碼的最終目的是將人類可讀的文本翻譯成為計(jì)算機(jī)可以執(zhí)行的二進(jìn)制指令,這種過(guò)程叫做編譯,通過(guò)編譯器完成。 作用 : 源代碼主要功用有如下2種作用: 生成目標(biāo)代碼,即計(jì)算機(jī)可以識(shí)別的代碼。 對(duì)軟件進(jìn)行說(shuō)明,即對(duì)軟件的編寫進(jìn)行說(shuō)明。為數(shù)不少的初學(xué)者,甚至少數(shù)有經(jīng)驗(yàn)的程序員都忽視軟件說(shuō)明的編寫,因?yàn)檫@部分雖然不會(huì)在生成的程序中直接顯示,也不參與編譯。但是說(shuō)明對(duì)軟件的學(xué)習(xí)、分享、維護(hù)和軟件復(fù)用都有巨大的好處。因此,書寫軟件說(shuō)明在業(yè)界被認(rèn)為是能創(chuàng)造優(yōu)秀程序的良好習(xí)慣,一些公司也硬性規(guī)定必須書寫。 需要指出的是,源代碼的修改不能改變已經(jīng)生成的目標(biāo)代碼。如果需要目標(biāo)代碼做出相應(yīng)的修改,必須重新編譯。 代碼組合 : 源代碼作為軟件的特殊部分,可能被包含在一個(gè)或多個(gè)文件中。一個(gè)程序不必用同一種格式的源代碼書寫。例如,一個(gè)程序如果有C語(yǔ)言庫(kù)的支持,那么就可以用C語(yǔ)言;而另一部分為了達(dá)到比較高的運(yùn)行效率,則可以用匯編語(yǔ)言編寫。 較為復(fù)雜的軟件,一般需要數(shù)十種甚至上百種的源代碼的參與。為了降低種復(fù)雜度,必須引入一種可以描述各個(gè)源代碼之間聯(lián)系,并且如何正確編譯的系統(tǒng)。在這樣的背景下,修訂控制系統(tǒng)(RCS)誕生了,并成為研發(fā)者對(duì)代碼修訂的必備工具之一。 還有另外一種組合:源代碼的編寫和編譯分別在不同的平臺(tái)上實(shí)現(xiàn),專業(yè)術(shù)語(yǔ)叫做軟件移植。 版權(quán) : 如果按照源代碼類型區(qū)分軟件,通常被分為兩類:自由軟件和非自由軟件。自由軟件一般是不僅可以免費(fèi)得到,而且公開源代碼;相對(duì)應(yīng)地,非自由軟件則是不公開源代碼。所有一切通過(guò)非正常手段獲得非自由軟件源代碼的行為都將被視為非法。 質(zhì)量 : | |
|
| 對(duì)于計(jì)算機(jī)而言,并不存在真正意義上的“好”的源代碼;然而作為一個(gè)人,好的書寫習(xí)慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標(biāo)準(zhǔn)。軟件文檔則是表明可讀性的關(guān)鍵。 效率 : 雖然我們可以通過(guò)不同的語(yǔ)言來(lái)實(shí)現(xiàn)計(jì)算機(jī)的同一功能,但在執(zhí)行效率上則存在不同。普遍規(guī)律是:越高級(jí)的語(yǔ)言,其執(zhí)行效率越低。這也是為什么匯編語(yǔ)言生成的文件比用VB語(yǔ)言生成文件普遍要小的原因。 編輯本段開放源代碼 由源代碼的概念引出了開放源代碼的概念。 您購(gòu)買或下載的大多數(shù)軟件只提供已編譯的可運(yùn)行版本?!耙丫幾g”意味著開發(fā)人員創(chuàng)建的實(shí)際程序代碼(稱為源代碼)已經(jīng)由一個(gè)稱為編譯器的特殊程序進(jìn)行過(guò)處理,該程序?qū)⒃创a轉(zhuǎn)換為計(jì)算機(jī)可以理解的格式(有關(guān)編譯器的詳細(xì)信息,請(qǐng)參見C語(yǔ)言入門教程)。修改大多數(shù)應(yīng)用程序的已編譯版本都是極其困難的,人們幾乎不可能知道開發(fā)人員究竟是如何創(chuàng)建程序的各個(gè)部分的。大多數(shù)商業(yè)軟件制造商都將這一點(diǎn)視為有利條件,以防止其他公司復(fù)制自己的代碼并將其用在競(jìng)爭(zhēng)產(chǎn)品中,同時(shí)可以控制其特定產(chǎn)品具有的質(zhì)量和功能。 開放源代碼軟件恰恰相反。源代碼隨已編譯的版本一起提供,而且事實(shí)上鼓勵(lì)人們修改或定制。支持開放源代碼概念的軟件開發(fā)人員相信,通過(guò)允許感興趣的人修改源代碼,應(yīng)用程序?qū)?huì)更加完善,并且在很長(zhǎng)時(shí)間內(nèi)不會(huì)出現(xiàn)錯(cuò)誤。 軟件開發(fā)行業(yè)所定義的開放源代碼軟件必須滿足一定的條件: ?程序必須免費(fèi)發(fā)布(但可以是出售的軟件包中的一部分,例如在下面的例子中,Red Hat對(duì)Linux就是這樣做的)。 ?必須提供源代碼。 ?必須允許任何人修改源代碼。 ?可以重新發(fā)布修改后的版本。 ?許可證不得要求排除其他軟件或干預(yù)其他軟件的運(yùn)行。 下面讓我們看一個(gè)開放源代碼軟件的真實(shí)例子。1991年,芬蘭赫爾辛基大學(xué)的學(xué)生李納斯·托沃茲(Linus Torvalds)基于Unix的衍生版本Minix開發(fā)了一個(gè)新的操作系統(tǒng),并稱之為L(zhǎng)inux。托沃茲使用GNU通用公共許可證(它為開放源代碼軟件提供了很好的法律定義)發(fā)布了0.02版本的Linux。全球各地的人下載并開始使用Linux。其中,許多用戶是獨(dú)立的程序員,他們對(duì)托沃茲提供的源代碼進(jìn)行了修改。在接下來(lái)的3年中,托沃茲從其他程序員那里收到了這些修改后的版本,并將許多改動(dòng)結(jié)合到基礎(chǔ)版本中,于1994年發(fā)布了Linux的1.0版。 那些想要使用開放源代碼軟件的最終用戶的一個(gè)共同顧慮,是這些軟件缺乏質(zhì)量擔(dān)保和技術(shù)支持。因?yàn)樵撥浖脑S可證鼓勵(lì)修改和定制,所以幾乎無(wú)法提供支持。這正是1994年成立的Red Hat Software創(chuàng)建“Official Red Hat Linux”并銷售這一通常是“免費(fèi)”的軟件的原因。Red Hat向軟件包添加的主要價(jià)值是質(zhì)量擔(dān)保和技術(shù)支持。對(duì)于大多數(shù)企業(yè)而言,技術(shù)支持承諾成為促使其購(gòu)買Linux而不是免費(fèi)下載它的一個(gè)關(guān)鍵因素。除了Red Hat以外,還有其他幾家公司將Linux打包(通常帶有其他軟件)以進(jìn)行轉(zhuǎn)售。 除了Linux以外,Mozilla(Netscape瀏覽器核心)、Apache(Web服務(wù)器)、PERL(Web腳本語(yǔ)言)和 PNG(圖形文件格式)都是非常受歡迎的基于開放源代碼的軟件。 |
聯(lián)系客服