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