GCC
支援各種程式語言的編譯器系統 / 維基百科,自由的 encyclopedia
GNU編譯器套裝(英語:GNU Compiler Collection,縮寫為GCC)是GNU計劃製作的一種優化編譯器,支持各種編程語言、操作系統、計算機系統結構。該編譯器是以GPL及LGPL許可證所發行的自由軟體,也是GNU計劃的關鍵部分,還是GNU工具鏈的主要組成部份之一。GCC(特別是其中的C語言編譯器)也常被認為是跨平台編譯器的事實標準。1985年由理查德·馬修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。截至2019年,GCC大約有1500萬行代碼,是現存最大的自由程序之一。[2] 它在自由軟件的發展中發揮了重要作用,不僅是一個工具,還是一個典例。
GCC 10.2編譯自身源代碼截圖 | |
開發者 | GNU計劃 |
---|---|
首次發布 | 1987年5月23日 (1987-05-23) |
當前版本 |
|
源代碼庫 | |
編程語言 | C++ |
操作系統 | 跨平台 |
文件大小 | 約一千五百萬行[2] |
語言 | 英語 |
類型 | 編譯器 |
許可協議 | GNU通用公共許可證第三版或更新 |
網站 | gcc |
原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。同年12月,新的GCC編譯器可以編譯C++語言。後來又為Fortran、Pascal、Objective-C、Java、Ada,Go等其他語言開發了前端。C和C++編譯器也支持OpenMP和OpenACC規範。
GCC編譯器已經被移植到比其他編譯器更多的平台和指令集架構上,並被廣泛部署在開發自由和專有軟件的工具中。GCC還可用於許多嵌入式系統,包括基於ARM和Power ISA(英語:Power ISA)的芯片。
GCC不僅是GNU操作系統的官方編譯器,還是許多類UNIX系統和Linux發行版的標準編譯器。BSD家族中的大部分操作系統也在GCC發布之後轉用GCC;不過FreeBSD、OpenBSD和Apple macOS已經轉向了Clang編譯器[3],主要是因為許可問題。[4][5][6]GCC也可以編譯Windows、Android、iOS、Solaris、HP-UX、IBM AIX和DOS系統的代碼。GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式[7][8]。