GCC、GNU、GPL、GPL/Linux最全解析
標(biāo)題# GCC、GNU、GPL、GPL/Linux最全解析
本文章通過參考其它博文,和百度百科等資料,整理處理關(guān)于GCC、GNU、GPL、GPL/Linux等名詞解析。一文幫你搞懂這些名詞術(shù)語,將自己的學(xué)習(xí)筆記分享給大家。有錯漏之處,感謝評論區(qū)指正
GCC——GNU編譯器套件
GCC原名為GNU C語言編譯器(GNU C Compiler),只能處理C語言。但其很快擴(kuò)展,變得可處理C++,后來又?jǐn)U展為能夠支持更多編程語言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各類處理器架構(gòu)上的匯編語言等,所以改名GNU編譯器套件(GNU Compiler Collection)
GCC是以GPL許可證所發(fā)行的自由軟件,也是GNU計劃的關(guān)鍵部分。GCC的初衷是為GNU操作系統(tǒng)專門編寫一款編譯器,現(xiàn)已被大多數(shù)類Unix操作系統(tǒng)(如Linux、BSD、MacOS X等)采納為標(biāo)準(zhǔn)的編譯器,甚至在微軟的Windows上也可以使用GCC。GCC支持多種計算機(jī)體系結(jié)構(gòu)芯片,如x86、ARM、MIPS等,并已被移植到其他多種硬件平臺 [1] 。
GCC的外部接口長得像一個標(biāo)準(zhǔn)的Unix編譯器。使用者在命令列下鍵入gcc和程序名,以及一些命令參數(shù),以便決定每個輸入檔案使用的個別語言編譯器,并為輸出程序碼使用適合此硬件平臺的組合語言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序。
每個語言編譯器都是獨(dú)立程序,此程序可處理輸入的原始碼,并輸出組合語言碼。
GNU
GNU是一個自由的操作系統(tǒng),其內(nèi)容軟件完全以GPL方式發(fā)布。要讓一個軟件成為自由軟件,您需要把它以自由軟件許可證發(fā)布。這個操作系統(tǒng)是GNU計劃的主要目標(biāo),名稱來自**GNU’s Not Unix!**的遞歸縮寫,因?yàn)镚NU的設(shè)計類似Unix,但它不包含具著作權(quán)的Unix代碼。
作為操作系統(tǒng),GNU的發(fā)展仍未完成,其中最大的問題是具有完備功能的內(nèi)核尚未被開發(fā)成功。GNU的內(nèi)核,稱為Hurd,是自由軟件基金會發(fā)展的重點(diǎn),但是其發(fā)展尚未成熟。在實(shí)際使用上,多半使用Linux內(nèi)核、FreeBSD等替代方案,作為系統(tǒng)核心,其中主要的操作系統(tǒng)是Linux的發(fā)行版。Linux操作系統(tǒng)包涵了Linux內(nèi)核與其他自由軟件項(xiàng)目中的GNU組件和軟件,可以被稱為GNU/Linux(見GNU/Linux命名爭議)
GPL–GNU通用公共許可證
GNU通用公共許可證簡稱為GPL,是由自由軟件基金會發(fā)行的用于計算機(jī)軟件的協(xié)議證書,使用該證書的軟件被稱為自由軟件。大多數(shù)的GNU程序和超過半數(shù)的自由軟件使用它
一方面,它給予了用戶充分的自由,允許用戶 運(yùn)行、學(xué)習(xí)、共享和修改軟件 ;
而另一方面,它死死限制了用戶的一個方面的自由,那就是:GPL的派生作品只能以相同的許可證 發(fā)布 。
這兩個特點(diǎn)結(jié)合起來翻譯成人話就是“軟件隨便用,源碼也給你,隨你怎么copy怎么修改,這都是你的自由,但是!你不能將大家伙的勞動成果變成你一個人私有的!”
Linux操作系統(tǒng)內(nèi)核
Linux于1991年發(fā)布,是另一個叫 Linus(林納斯) 的小伙為了更好了下載校網(wǎng)資源,憑 一己之力 在 21歲時開發(fā)的.當(dāng)時Linus只是開發(fā)出了Linux內(nèi)核(什么叫內(nèi)核呢?就是具備了和硬件打交道的能力,但其他多余的人性化功能都沒有,比如圖形界面等),但由于Linux與Unix兼容且在GPL下發(fā)布,所以Linux在網(wǎng)絡(luò)上流傳非常快,Linux雖然剛發(fā)布時雖然只有一個內(nèi)核,但在全世界程序員的積極貢獻(xiàn)下,現(xiàn)在Linux已經(jīng)有了類似于Ubuntu等優(yōu)秀的發(fā)行版本。1992年,Linux與其他GNU軟件結(jié)合,完全自由的操作系統(tǒng)正式誕生。許多程序員參與了Linux的開發(fā)與修改,也經(jīng)常將Linux當(dāng)成開發(fā)GNU計劃軟件的平臺。該操作系統(tǒng)往往被稱為“GNU/Linux”或簡稱Linux。但Linux本身不屬于GNU計劃的一部分,GNU計劃自己的內(nèi)核Hurd依然在開發(fā)中,當(dāng)前已經(jīng)發(fā)布Beta版本(測試版本)。
GNU/Linux命名爭議
自由軟件基金會的創(chuàng)立者,理查德·斯托曼,以及其支持者,提出GNU/Linux的名稱,希望用來作為Linux操作系統(tǒng)的正式名稱。這些人認(rèn)為,Linux操作系統(tǒng),包括了GNU計劃軟件與Linux核心,使用GNU/Linux這個名稱,可以良好概括它的內(nèi)容。況且,GNU計劃原本就以發(fā)展操作系統(tǒng)為遠(yuǎn)程計劃,但遲遲沒有完成,Linux操作系統(tǒng)剛好可以補(bǔ)足這個缺口。
Linux社群中的成員認(rèn)為,Linux這個名稱在公眾與媒體中更為通用,提出了數(shù)項(xiàng)理由,認(rèn)為使用Linux名稱是更好的
參考鏈接::https://blog.csdn.net/qq_43617936/article/details/104504992
? 百度百科
總結(jié)
以上是生活随笔為你收集整理的GCC、GNU、GPL、GPL/Linux最全解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下Linpack测试CPU性能
- 下一篇: 王垠的一条新微薄