GCC (informatika)
| GNU Compiler Collection | |
| Fejlesztő | The GNU Project |
| Első kiadás | 1987-05-23[1] |
| Legfrissebb stabil kiadás | 15.2 (bug-fix release, stabil verzió, 2025. augusztus 8.)[2] |
| Legfrissebb fejlesztői kiadás | 8.0 stage 1 (2017. április 20.)[3] +/- |
| Programozási nyelv | C++, eredetileg C |
| Operációs rendszer | platformfüggetlen |
| Platform | GNU |
| Állapot | stabil |
| Kategória | fordítóprogram |
| Licenc | GPL-3+, LGPL-3+, FDL-1.3+ |
| A GNU Compiler Collection weboldala | |
A GCC a GNU Compiler Collection rövidítése.
Szabadon elérhető C, C++, Pascal, Objective-C, Java, Fortran és Ada fordító, elsősorban Linux és BSD – tehát POSIX – rendszerekre, de létezik Microsoft Windows-ra készített változata is (MinGW -n keresztül), rengeteg CPU és architektúra támogatott, amire a GCC tud fordítani.
Eredetileg a gcc GNU C Compiler-t jelentett, és csak is kizárólag C programozási nyelvet tudott kezelni. A gcc 1.0-t 1987-ben adták ki, majd a fordítót kiterjesztették arra, hogy C++-t is képes legyen lefordítani, az év decemberében.[1] Később front end-et fejlesztettek többek közt a következőkhöz: Objective-C, C++, Fortran, Java (Gcj), Ada (Gnat), és Go.[4]
A Free Software Foundation (FSF) adja ki a GCC-t GNU General Public License (GNU GPL) alatt. A GCC fontos szerepet játszott a szabad szoftver növekedésében, mind eszközként, mind példaként.
Történelmi áttekintés
[szerkesztés]Eredetileg GNU C Compiler-ként indult, és ennek a projektnek köszönheti a fejlődését sok nyílt forrású operációs rendszer, többek között a Linux és a nyílt BSD-k is.
Támogatott architektúrák
[szerkesztés]
Az elsődlegesen támogatott (és legjobban tesztelt) processzorcsaládok a 64- és 32 bites ARM, 64- és 32 bites x86-64 és x86 és a 64 bites PowerPC és SPARC.[5]
A GCC cél-processzorcsaládok a 11.1-es verziótól kezdve a következők:[6]
A standard kiadásban támogatott kevésbé ismert célprocesszorok a következők voltak:
További processzorokat támogattak az FSF-verziótól elkülönülten karbantartott GCC-verziók:
- Cortus APS3
- ARC
- Atmel AVR32
- C166 és C167
- D10V
- EISC
- eSi-RISC
- Hexagon[8]
- LatticeMico32
- LatticeMico8
- MeP
- MicroBlaze
- Motorola 6809
- MSP430
- NEC SX architecture[9]
- Nios II és Nios
- OpenRISC
- PDP–10
- PIC24/dsPIC
- PIC32
- Propeller
- Saturn (HP48XGCC)
- IBM System/370
- TIGCC (m68k változat)
- TMS9900
- TriCore
- Z8000
- ZPU
A GCJ Java compiler/fordítóprogram vagy egy natív gépi nyelvi architektúrát, vagy a Java virtuális gép bájtkódját célozhatja meg.[10] Amikor a GCC-t újracélzás (retargeting) során egy új platformhoz adaptálják, gyakran használják a bootstrapping technikát (amellyel önfordító fordítót állítanak elő). A Motorola 68000, Zilog Z80 és más processzorokat is gyakran megcéloztak a különböző Texas Instruments, Hewlett Packard, Sharp és Casio programozható grafikus számológépekhez fejlesztett GCC verziókban.[11]
Kiadási stratégia
[szerkesztés]
Az új kiadási menetrend során általában három fejlesztési állapotot hoznak létre, mielőtt egy branchot létrehoznak.
A nagyobb változtatások során adnak branchot a projekthez, melyek lehetnek:
- új C++ parser esetén
- új memória allokációs séma esetén
- új optimalizációs lépés
Minden branch után új kiadási menetrend következik, valamint jellemzően két havonta bug-fix foltot is kiadnak az eredeti kiadáshoz.[12]
Források
[szerkesztés]- ↑ a b GCC Releases - GNU Project - Free Software Foundation (FSF) (angol nyelven). www.gnu.org. (Hozzáférés: 2017. augusztus 24.)
- ↑ Richard Biener: GCC 15.2 Released (angol nyelven), 2025. augusztus 8. (Hozzáférés: 2025. augusztus 8.)
- ↑ GCC Development Plan - GNU Project - Free Software Foundation (FSF) (angol nyelven). www.gnu.org. (Hozzáférés: 2017. augusztus 24.)
- ↑ Programming Languages Supported by GCC. GNU Project. (Hozzáférés: 2011. november 25.)
- ↑ GCC 12 Release Criteria. gcc.gnu.org, 2022. október 26. [2023. január 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2023. január 27.)
- ↑ Option Summary (Using the GNU Compiler Collection (GCC)). gcc.gnu.org. [2023. január 18-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. augusztus 21.)
- ↑ Links and Selected Readings - GNU Project - Free Software Foundation (FSF) (angol nyelven). gcc.gnu.org. (Hozzáférés: 2017. augusztus 24.)
- ↑ Hexagon Project Wiki. [2012. március 23-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. május 19.)
- ↑ Google Code Archive - Long-term storage for Google Code Project Hosting.. code.google.com. [2022. szeptember 25-i dátummal az eredetiből archiválva]. (Hozzáférés: 2021. szeptember 24.)
- ↑ The GNU Compiler for the Java Programming Language. [2007. május 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. április 22.)
- ↑ en:Graphing calculator#Programming
- ↑ GCC Development Plan - GNU Project - Free Software Foundation (FSF) (angol nyelven). www.gnu.org. (Hozzáférés: 2017. augusztus 24.)