GNU Compiler Collection
Udviklet af | GNU-projekt |
---|---|
Første version | 23. maj 1987 |
Sidste version | 11,1 (27. april 2021) |
Depositum | gcc.gnu.org/git |
Skrevet i | C ++ |
Interface | Kommandolinjegrænseflade |
Support sprog | C , C ++ , Objective-C , Fortran , Ada , Go og D. |
Operativ system | Linux , Hurd og Microsoft Windows |
Miljø | Multiplatform |
Type | Kompilator |
Licens | GNU General Public License version 3 |
Internet side | gcc.gnu.org |
GNU Compiler Collection , forkortet GCC , er en samling compilere oprettet af GNU Project . GCC er gratis software, der er i stand til at kompilere forskellige programmeringssprog , herunder C , C ++ , Objective-C , Java , Ada , Fortran og Go .
GCC bruges til udvikling af mest gratis software. Den Linux-kernen er særligt afhængig af GCC-funktionalitet.
GCC blev designet til at erstatte C- compileren leveret som standard på Unix- operativsystemet , der kaldes CC. GCC stod oprindeligt for GNU C Compiler eller " GNU C Compiler ". Da GCC er meget udvidelig, er support til mange andre sprog tilføjet, og det officielle navn er blevet ændret til GNU Compiler Collection .
I praksis bruges forkortelsen GCC til at navngive tre lidt forskellige enheder:
For at henvise specifikt til kompilatorerne på hvert sprog taler vi om:
Der er mange andre GCC-baserede compilere, der ikke er en del af GCC-projektets standardfordeling.
Siden version 4.5 (4.6 og derover) er GCC-compilerne udvidelige gennem plugins (" plugins "). Disse skal være gratis software og kan tilføje optimeringskort, pragmas, indbyggede eller attributter (men kan ikke udvide den syntaks, der accepteres af GCC). Der er et par plugins til GCC: Mozilla udviklede Tree Hydra (ophørt). gcc python-plugin giver mulighed for at udvide GCC med Python-scripts, især for at verificere C-kode for Python. MELT er et specifikt sprog, inspireret af Lisp til at udvide GCC.
GCC har også et fejlfindingsværktøj, GNU Debugger (gdb). Selvom det ikke er en del af GCC, foretrækkes Valgrind til mere dybtgående test, især for at finde hukommelseslækager .
GCC er blevet portet til et betydeligt antal operativsystemer (stort set alle varianter af Unix , VMS , Windows og MS-DOS via DJGPP ) og mikroprocessorer ( AMD64 , ARM , DEC Alpha , M68k , MIPS , PowerPC , SPARC , x86 , Hitachi H8 ).
GCC, for C-sproget, understøtter ikke Unicode- identifikatorer .
Richard Stallman begynder sin udvikling med programmeringssproget Pastel , en ikke- bærbar "dialekt" af Pascal . En første version kan således bruges fraJuni 1984. Dette sprog er delvist inspireret af Pastel- kompilatoren , men også af den bærbare kompilator fra University of Arizona .
Han skrev en ny ANSI C- kompilator startende i foråret 1986 og distribuerede derefter ved hjælp af Len Tower og under ledelse af Free Software Foundation en første betaversion på22. marts 1987og den første stabile version to måneder senere. I slutningen af 1980'erne støttede GCC allerede næsten et dusin arkitekturer; Michael Tiemann ser ud til at være den mest aktive med seks havne udført alene. Det krediteres endda indfødt understøttelse af C ++ - sproget fra slutningen af 1987, hvilket gør GNU-kompilatoren den første til at understøtte dette sprog. Michael Tiemann opgav gradvist projektet i begyndelsen af 1990'erne på grund af mangel på tid på grund af hans aktiviteter inden for virksomheden Cygnus Solutions .
I 1992 bragte version 2.0 ud over adskillige optimeringer stabil stabilitet til C ++ - sproget. Projektet ser ud til at gå ind i en ny æra, der almindeligvis kaldes " Cygnus-årene ". Denne periode begynder med en overgangsproces fra version 1.42 til den nye version.
I 1997 , en gruppe af udviklere fandt udviklingsmodel langsom og ikke meget befordrende for forbedringer, så de besluttede at punge projektet og kaldte den egcs (for " Experimental / Enhanced GNU Compiler System "). Efter de mange forbedringer, der er foretaget, forenes EGCS og GCC i april 1999 , den første offentliggjorte version er 2,95.
GCC følger nøje udviklingen af sprogstandardisering og er undertiden endda forud for den; nogle af funktionerne i C99- standarden var således allerede til stede før den officielle offentliggørelse.
GCC er i dag den mest anvendte kompilator i det fri softwarefællesskab og er kompilatoren til mange operativsystemer, såsom GNU / Linux , BSD , Mac OS X , NeXTSTEP eller endda BeOS / Haiku .
Versionerne er indstillet af GCC-styregruppen . Version 4 samler Fortran 95 efter anmodning fra et stort antal videnskabelige brugere. Det er faktisk på dette sprog, at de fleste aktuelle kildebiblioteker og videnskabelige underrutiner udveksles ; Linux er meget til stede i laboratorier. Siden version 5 via OpenACC er kompatibiliteten med Fortran-sproget forbedret, og version 6 er blevet forbedret betydeligt. I starten af 2021 implementerede GFortran 10.2 næsten fuldt ud Fortran 2008-standarden og omkring 20% af Fortran 2018-standarden.
Her er udgivelsesdatoer for de seneste store versioner:
Version | Udgivelses dato |
---|---|
3.0 | 18. juni 2001 |
3.1 | 15. maj 2002 |
3.2 | 14. august 2002 |
3.3 | 13. maj 2003 |
3.4 | 18. april 2004 |
3.4.6 | 6. marts, 2006 |
4.0 | 20. april 2005 |
4.0.4 | 31. januar 2007 |
4.1 | 28. februar 2006 |
4.1.2 | 13. februar 2007 |
4.2 | 13. maj 2007 |
4.2.4 | 19. maj 2008 |
4.3 | 5. marts 2008 |
4.3.5 | 22. maj 2010 |
4.4 | 21. april 2009 |
4.4.5 | 1 st oktober 2010 |
4.5 | 14. april 2010 |
4.5.1 | 31. juli 2010 |
4.5.2 | 16. december 2010 |
4.6 | 25. marts 2011 |
4.7 | 22. marts 2012 |
4.8 | 22. marts 2013 |
4.9 | 22. april 2014 |
5.1 | 22. april 2015 |
5.2 | 16. juli 2015 |
5.3 | 4. december 2015 |
5.4 | 3. juni 2016 |
6.2 | 22. august 2016 |
6.3 | 21. december 2016 |
7.1 | 2. maj 2017 |
7.2 | 14. august 2017 |
7.3 | 25. januar 2018 |
8.1 | 2. maj 2018 |
8.2 | 14. juli 2018 |
8.3 | 22. februar 2019 |
9.1 | 25. april 2019 |
9.2 | 12. august 2019 |
9.3 | 12. marts 2020 |
10.1 | 7. maj 2020 |
Den grundlæggende syntaks, der bruges af GCC-kompilatorerne, er:
gcc fichierSource.c -o binaireFor at bruge biblioteker er syntaksen som følger:
gcc fichierSource.c -o binaire -l''bibliothèque''Mange indstillinger (videregivet som en parameter) giver dig mulighed for at handle på kompileringen. GCC bruges ofte i makefiles af make- programmet .
Særligt nyttige muligheder er -O1 eller -O2 til at fortælle kompilatoren at optimere, -Væg til at bede om næsten alle advarselsmeddelelser, -g til generering af fejlretningsoplysninger, -c til generering af en objektfil (uden linkredigering).